Merge changes I37292676,I324a0544

* changes:
  Move the notification logic out to a listener so there can be an Activity based version of the listener as well for NFC VCARD imports.
  Fix a BroadcastReceiver leak.
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 078bb2c..95edf0f 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -657,6 +657,7 @@
                 <data
                     android:scheme="content"
                     android:host="com.android.voicemail"
+                    android:mimeType="vnd.android.cursor.item/voicemail"
                 />
             </intent-filter>
             <intent-filter android:priority="100">
diff --git a/proguard.flags b/proguard.flags
index 5a08b9f..f4ec4b2 100644
--- a/proguard.flags
+++ b/proguard.flags
@@ -24,3 +24,9 @@
 -keep class ** {
   *** *ForTest(...);
 }
+
+# Any class or method annotated with NeededForTesting.
+-keep @com.android.contacts.test.NeededForTesting class *
+-keepclassmembers class * {
+@com.android.contacts.test.NeededForTesting *;
+}
diff --git a/res/drawable-hdpi/list_activated_holo.9.png b/res/drawable-hdpi/list_activated_holo.9.png
index 7b89319..046b24a 100644
--- a/res/drawable-hdpi/list_activated_holo.9.png
+++ b/res/drawable-hdpi/list_activated_holo.9.png
Binary files differ
diff --git a/res/drawable-hdpi/list_background_holo.9.png b/res/drawable-hdpi/list_background_holo.9.png
index e382b2d..cddf9be 100644
--- a/res/drawable-hdpi/list_background_holo.9.png
+++ b/res/drawable-hdpi/list_background_holo.9.png
Binary files differ
diff --git a/res/drawable-hdpi/tab_selected_focused_holo.9.png b/res/drawable-hdpi/tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..feaaa2d
--- /dev/null
+++ b/res/drawable-hdpi/tab_selected_focused_holo.9.png
Binary files differ
diff --git a/res/drawable-hdpi/tab_selected_holo.9.png b/res/drawable-hdpi/tab_selected_holo.9.png
new file mode 100644
index 0000000..b939b5d
--- /dev/null
+++ b/res/drawable-hdpi/tab_selected_holo.9.png
Binary files differ
diff --git a/res/drawable-hdpi/tab_selected_pressed_holo.9.png b/res/drawable-hdpi/tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..ccb7342
--- /dev/null
+++ b/res/drawable-hdpi/tab_selected_pressed_holo.9.png
Binary files differ
diff --git a/res/drawable-hdpi/tab_unselected_focused_holo.9.png b/res/drawable-hdpi/tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..4f59d32
--- /dev/null
+++ b/res/drawable-hdpi/tab_unselected_focused_holo.9.png
Binary files differ
diff --git a/res/drawable-hdpi/tab_unselected_holo.9.png b/res/drawable-hdpi/tab_unselected_holo.9.png
new file mode 100644
index 0000000..de9f4f2
--- /dev/null
+++ b/res/drawable-hdpi/tab_unselected_holo.9.png
Binary files differ
diff --git a/res/drawable-hdpi/tab_unselected_pressed_holo.9.png b/res/drawable-hdpi/tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..8e706b0
--- /dev/null
+++ b/res/drawable-hdpi/tab_unselected_pressed_holo.9.png
Binary files differ
diff --git a/res/drawable-mdpi/list_activated_holo.9.png b/res/drawable-mdpi/list_activated_holo.9.png
index 4d98919..1ff3373 100644
--- a/res/drawable-mdpi/list_activated_holo.9.png
+++ b/res/drawable-mdpi/list_activated_holo.9.png
Binary files differ
diff --git a/res/drawable-mdpi/list_background_holo.9.png b/res/drawable-mdpi/list_background_holo.9.png
index ca2f750..7d5d66d 100644
--- a/res/drawable-mdpi/list_background_holo.9.png
+++ b/res/drawable-mdpi/list_background_holo.9.png
Binary files differ
diff --git a/res/drawable-mdpi/tab_selected_focused_holo.9.png b/res/drawable-mdpi/tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..ffe76c7
--- /dev/null
+++ b/res/drawable-mdpi/tab_selected_focused_holo.9.png
Binary files differ
diff --git a/res/drawable-mdpi/tab_selected_holo.9.png b/res/drawable-mdpi/tab_selected_holo.9.png
new file mode 100644
index 0000000..6ccbd47
--- /dev/null
+++ b/res/drawable-mdpi/tab_selected_holo.9.png
Binary files differ
diff --git a/res/drawable-mdpi/tab_selected_pressed_holo.9.png b/res/drawable-mdpi/tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..834b1f5
--- /dev/null
+++ b/res/drawable-mdpi/tab_selected_pressed_holo.9.png
Binary files differ
diff --git a/res/drawable-mdpi/tab_unselected_focused_holo.9.png b/res/drawable-mdpi/tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..9cf9398
--- /dev/null
+++ b/res/drawable-mdpi/tab_unselected_focused_holo.9.png
Binary files differ
diff --git a/res/drawable-mdpi/tab_unselected_holo.9.png b/res/drawable-mdpi/tab_unselected_holo.9.png
new file mode 100644
index 0000000..5834c1f
--- /dev/null
+++ b/res/drawable-mdpi/tab_unselected_holo.9.png
Binary files differ
diff --git a/res/drawable-mdpi/tab_unselected_pressed_holo.9.png b/res/drawable-mdpi/tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..b205bc7
--- /dev/null
+++ b/res/drawable-mdpi/tab_unselected_pressed_holo.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/list_activated_holo.9.png b/res/drawable-xhdpi/list_activated_holo.9.png
index 4e13add..2eb7c7e 100644
--- a/res/drawable-xhdpi/list_activated_holo.9.png
+++ b/res/drawable-xhdpi/list_activated_holo.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/list_background_holo.9.png b/res/drawable-xhdpi/list_background_holo.9.png
index adba6a8..b652725 100644
--- a/res/drawable-xhdpi/list_background_holo.9.png
+++ b/res/drawable-xhdpi/list_background_holo.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/tab_selected_focused_holo.9.png b/res/drawable-xhdpi/tab_selected_focused_holo.9.png
new file mode 100644
index 0000000..8bb6ec5
--- /dev/null
+++ b/res/drawable-xhdpi/tab_selected_focused_holo.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/tab_selected_holo.9.png b/res/drawable-xhdpi/tab_selected_holo.9.png
new file mode 100644
index 0000000..81d5b34
--- /dev/null
+++ b/res/drawable-xhdpi/tab_selected_holo.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/tab_selected_pressed_holo.9.png b/res/drawable-xhdpi/tab_selected_pressed_holo.9.png
new file mode 100644
index 0000000..9ae1441
--- /dev/null
+++ b/res/drawable-xhdpi/tab_selected_pressed_holo.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/tab_unselected_focused_holo.9.png b/res/drawable-xhdpi/tab_unselected_focused_holo.9.png
new file mode 100644
index 0000000..5973936
--- /dev/null
+++ b/res/drawable-xhdpi/tab_unselected_focused_holo.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/tab_unselected_holo.9.png b/res/drawable-xhdpi/tab_unselected_holo.9.png
new file mode 100644
index 0000000..1590ba8
--- /dev/null
+++ b/res/drawable-xhdpi/tab_unselected_holo.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/tab_unselected_pressed_holo.9.png b/res/drawable-xhdpi/tab_unselected_pressed_holo.9.png
new file mode 100644
index 0000000..b781355
--- /dev/null
+++ b/res/drawable-xhdpi/tab_unselected_pressed_holo.9.png
Binary files differ
diff --git a/res/drawable/action_bar_tab.xml b/res/drawable/action_bar_tab.xml
new file mode 100644
index 0000000..7676549
--- /dev/null
+++ b/res/drawable/action_bar_tab.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item
+        android:state_pressed="true"
+        android:state_selected="true"
+        android:drawable="@drawable/tab_selected_pressed_holo"/>
+    <item
+        android:state_focused="true"
+        android:state_selected="true"
+        android:drawable="@drawable/tab_selected_focused_holo"/>
+    <item
+        android:state_focused="true"
+        android:state_selected="false"
+        android:drawable="@drawable/tab_unselected_focused_holo"/>
+    <item
+        android:state_pressed="true"
+        android:state_selected="false"
+        android:drawable="@drawable/tab_unselected_pressed_holo"/>
+    <item
+        android:state_focused="false"
+        android:state_selected="true"
+        android:state_pressed="false"
+        android:drawable="@drawable/tab_selected_holo"/>
+    <item
+        android:state_focused="false"
+        android:state_pressed="false"
+        android:state_selected="false"
+        android:drawable="@drawable/tab_unselected_holo"/>
+</selector>
\ No newline at end of file
diff --git a/res/drawable/list_item_activated_background.xml b/res/drawable/list_item_activated_background.xml
index 334e8ec..6ea21d3 100644
--- a/res/drawable/list_item_activated_background.xml
+++ b/res/drawable/list_item_activated_background.xml
@@ -17,5 +17,5 @@
 <selector xmlns:android="http://schemas.android.com/apk/res/android"
         android:exitFadeDuration="@android:integer/config_mediumAnimTime">
     <item android:state_activated="true" android:drawable="@drawable/list_activated_holo" />
-    <item android:drawable="@android:color/transparent" />
-</selector>
+    <item android:drawable="@drawable/list_background_holo" />
+</selector>
\ No newline at end of file
diff --git a/res/layout-sw580dp-w1000dp/contact_detail_container.xml b/res/layout-sw580dp-w1000dp/contact_detail_container.xml
index 1d4ea35..6b1d094 100644
--- a/res/layout-sw580dp-w1000dp/contact_detail_container.xml
+++ b/res/layout-sw580dp-w1000dp/contact_detail_container.xml
@@ -35,7 +35,14 @@
         android:id="@+id/about_fragment_container"
         android:layout_width="0dip"
         android:layout_height="match_parent"
-        android:layout_weight="1" />
+        android:layout_weight="3" />
+
+    <!-- Vertical divider -->
+    <View
+        android:layout_width="2dip"
+        android:layout_height="match_parent"
+        android:background="?android:attr/listDivider"
+        />
 
     <!--
       Container for the "Updates" fragment on the contact card for a contact
@@ -44,7 +51,8 @@
     -->
     <FrameLayout
         android:id="@+id/updates_fragment_container"
-        android:layout_width="306dip"
+        android:layout_width="0dip"
+        android:layout_weight="2"
         android:layout_height="match_parent" />
 
 </LinearLayout>
\ No newline at end of file
diff --git a/res/layout-sw580dp-w1000dp/contact_editor_activity.xml b/res/layout-sw580dp-w1000dp/contact_editor_activity.xml
new file mode 100644
index 0000000..d2e0d22
--- /dev/null
+++ b/res/layout-sw580dp-w1000dp/contact_editor_activity.xml
@@ -0,0 +1,48 @@
+<?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.
+-->
+
+<ScrollView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:fillViewport="true">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="horizontal">
+
+        <!-- Empty view to represent the left margin -->
+        <View
+            android:layout_height="match_parent"
+            android:layout_width="0dip"
+            android:layout_weight="2" />
+
+        <fragment class="com.android.contacts.editor.ContactEditorFragment"
+            android:id="@+id/contact_editor_fragment"
+            android:layout_width="0dip"
+            android:layout_weight="6"
+            android:layout_height="match_parent"/>
+
+        <!-- Empty view to represent the right margin -->
+        <View
+            android:layout_height="match_parent"
+            android:layout_width="0dip"
+            android:layout_weight="2" />
+
+    </LinearLayout>
+
+</ScrollView>
\ No newline at end of file
diff --git a/res/layout-sw580dp-w1000dp/group_detail_fragment.xml b/res/layout-sw580dp-w1000dp/group_detail_fragment.xml
index 11779cb..31d3ce1 100644
--- a/res/layout-sw580dp-w1000dp/group_detail_fragment.xml
+++ b/res/layout-sw580dp-w1000dp/group_detail_fragment.xml
@@ -27,21 +27,22 @@
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:paddingBottom="@dimen/group_detail_vertical_padding"
+        android:paddingTop="12dip"
+        android:paddingBottom="12dip"
         android:orientation="horizontal" >
 
         <LinearLayout
             android:layout_width="0dip"
             android:layout_height="wrap_content"
             android:layout_weight="1"
+            android:paddingLeft="@dimen/group_detail_border_padding"
             android:orientation="vertical" >
 
             <TextView
                 android:id="@+id/group_title"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:paddingLeft="@dimen/group_detail_border_padding"
-                android:paddingTop="@dimen/group_detail_vertical_padding"
+                android:paddingLeft="8dip"
                 android:textAppearance="?android:attr/textAppearanceLarge"
                 android:textStyle="bold" />
 
@@ -49,7 +50,7 @@
                 android:id="@+id/group_size"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:paddingLeft="@dimen/group_detail_border_padding"
+                android:paddingLeft="8dip"
                 android:textAppearance="?android:attr/textAppearanceMedium"
                 android:textColor="?android:attr/textColorSecondary" />
 
@@ -67,10 +68,9 @@
     <View
         android:layout_width="match_parent"
         android:layout_height="1dip"
-        android:background="?android:attr/listDivider"
-        android:layout_marginBottom="@dimen/group_detail_vertical_padding"
-        android:layout_marginLeft="@dimen/group_detail_divider_margin"
-        android:layout_marginRight="@dimen/group_detail_divider_margin" />
+        android:background="@color/people_app_theme_color"
+        android:layout_marginLeft="@dimen/group_detail_border_padding"
+        android:layout_marginRight="@dimen/group_detail_border_padding" />
 
     <!-- List of group members -->
     <ListView android:id="@android:id/list"
diff --git a/res/layout-sw580dp-w1000dp/people_activity.xml b/res/layout-sw580dp-w1000dp/people_activity.xml
new file mode 100644
index 0000000..7d8d064
--- /dev/null
+++ b/res/layout-sw580dp-w1000dp/people_activity.xml
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2009 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:ex="http://schemas.android.com/apk/res/com.android.contacts"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <com.android.contacts.widget.InterpolatingLayout
+        android:id="@+id/main_view"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:splitMotionEvents="true">
+
+        <LinearLayout
+            android:id="@+id/browse_view"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:orientation="vertical"
+            android:minWidth="100dip"
+            ex:layout_narrowParentWidth="1000dip"
+            ex:layout_narrowWidth="276dip"
+            ex:layout_wideParentWidth="1280dip"
+            ex:layout_wideWidth="376dip"
+            android:background="@drawable/list_background_holo"
+            android:visibility="gone">
+
+            <!-- All -->
+            <fragment
+                android:id="@+id/all_fragment"
+                class="com.android.contacts.list.DefaultContactBrowseListFragment"
+                android:layout_height="0dip"
+                android:layout_width="match_parent"
+                android:layout_weight="1" />
+
+            <!-- Groups -->
+            <fragment
+                android:id="@+id/groups_fragment"
+                class="com.android.contacts.group.GroupBrowseListFragment"
+                android:layout_height="match_parent"
+                android:layout_width="match_parent" />
+        </LinearLayout>
+
+        <view
+            class="com.android.contacts.widget.TransitionAnimationView"
+            android:id="@+id/details_view"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            ex:layout_narrowParentWidth="800dip"
+            ex:layout_narrowMarginLeft="0dip"
+            ex:layout_narrowMarginRight="0dip"
+            ex:layout_wideParentWidth="1280dip"
+            ex:layout_wideMarginLeft="0dip"
+            ex:layout_wideMarginRight="0dip"
+            ex:clipMarginLeft="0dip"
+            ex:clipMarginTop="3dip"
+            ex:clipMarginRight="3dip"
+            ex:clipMarginBottom="9dip"
+            ex:enterAnimation="@android:animator/fade_in"
+            ex:exitAnimation="@android:animator/fade_out"
+            ex:animationDuration="200"
+            android:visibility="gone">
+
+            <!-- This layout includes all possible views needed for a contact detail page -->
+            <include
+                android:id="@+id/contact_detail_container"
+                layout="@layout/contact_detail_container"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"/>
+
+            <!-- This invisible worker fragment loads the contact's details -->
+            <fragment
+                android:id="@+id/contact_detail_loader_fragment"
+                class="com.android.contacts.detail.ContactLoaderFragment"
+                android:layout_height="0dip"
+                android:layout_width="0dip"
+                android:visibility="gone"/>
+
+            <!-- This is the group detail page -->
+            <fragment
+                android:id="@+id/group_detail_fragment"
+                class="com.android.contacts.group.GroupDetailFragment"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:visibility="gone" />
+        </view>
+
+        <view
+            class="com.android.contacts.widget.TransitionAnimationView"
+            android:id="@+id/favorites_view"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            ex:clipMarginLeft="0dip"
+            ex:clipMarginTop="3dip"
+            ex:clipMarginRight="3dip"
+            ex:clipMarginBottom="9dip"
+            ex:enterAnimation="@android:animator/fade_in"
+            ex:exitAnimation="@android:animator/fade_out"
+            ex:animationDuration="200">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:background="@drawable/list_background_holo">
+
+                <!-- Starred -->
+                <fragment
+                    android:id="@+id/favorites_fragment"
+                    class="com.android.contacts.list.ContactTileListFragment"
+                    android:layout_height="match_parent"
+                    style="@style/FavoritesFragmentStyle"
+                    android:layout_marginTop="32dip"
+                    android:layout_marginLeft="32dip"
+                    android:layout_marginRight="32dip" />
+
+                <!-- Most Frequent -->
+                <fragment
+                    android:id="@+id/frequent_fragment"
+                    class="com.android.contacts.list.ContactTileListFragment"
+                    style="@style/FrequentFragmentStyle"
+                    android:layout_height="match_parent"
+                    android:layout_marginTop="32dip"
+                    android:layout_marginRight="32dip"/>
+            </LinearLayout>
+        </view>
+
+    </com.android.contacts.widget.InterpolatingLayout>
+
+    <com.android.contacts.widget.InterpolatingLayout
+        android:id="@+id/contacts_unavailable_view"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:visibility="gone">
+
+        <FrameLayout
+            android:id="@+id/contacts_unavailable_container"
+            android:layout_height="match_parent"
+            android:layout_width="match_parent"
+            ex:layout_narrowParentWidth="800dip"
+            ex:layout_narrowMarginLeft="80dip"
+            ex:layout_narrowMarginRight="80dip"
+            ex:layout_wideParentWidth="1280dip"
+            ex:layout_wideMarginLeft="200dip"
+            ex:layout_wideMarginRight="200dip"
+            android:paddingBottom="20dip" />
+
+    </com.android.contacts.widget.InterpolatingLayout>
+</FrameLayout>
diff --git a/res/layout-sw580dp/contact_editor_activity.xml b/res/layout-sw580dp/contact_editor_activity.xml
index b9f98a3..c33a3c0 100644
--- a/res/layout-sw580dp/contact_editor_activity.xml
+++ b/res/layout-sw580dp/contact_editor_activity.xml
@@ -16,23 +16,13 @@
 
 <ScrollView
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:ex="http://schemas.android.com/apk/res/com.android.contacts"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:fillViewport="true">
-    <com.android.contacts.widget.InterpolatingLayout
+
+    <fragment class="com.android.contacts.editor.ContactEditorFragment"
+        android:id="@+id/contact_editor_fragment"
         android:layout_width="match_parent"
-        android:layout_height="match_parent">
-        <fragment class="com.android.contacts.editor.ContactEditorFragment"
-            android:id="@+id/contact_editor_fragment"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            ex:layout_wideParentWidth="1280dip"
-            ex:layout_wideMarginLeft="160dip"
-            ex:layout_wideMarginRight="160dip"
-            ex:layout_narrowParentWidth="800dip"
-            ex:layout_narrowMarginLeft="0dip"
-            ex:layout_narrowMarginRight="0dip"
-         />
-    </com.android.contacts.widget.InterpolatingLayout>
+        android:layout_height="match_parent"/>
+
 </ScrollView>
diff --git a/res/layout-sw580dp/contact_editor_fragment.xml b/res/layout-sw580dp/contact_editor_fragment.xml
index 0d01214..988be2a 100644
--- a/res/layout-sw580dp/contact_editor_fragment.xml
+++ b/res/layout-sw580dp/contact_editor_fragment.xml
@@ -14,12 +14,23 @@
      limitations under the License.
 -->
 
-<LinearLayout
+<com.android.contacts.widget.InterpolatingLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:ex="http://schemas.android.com/apk/res/com.android.contacts"
-    android:id="@+id/editors"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="@drawable/panel_message"
-    android:orientation="vertical"
-/>
+    android:background="@drawable/panel_message">
+
+    <LinearLayout
+        android:id="@+id/editors"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical"
+        ex:layout_wideParentWidth="800dip"
+        ex:layout_wideMarginLeft="128dip"
+        ex:layout_wideMarginRight="128dip"
+        ex:layout_narrowParentWidth="600dip"
+        ex:layout_narrowMarginLeft="50dip"
+        ex:layout_narrowMarginRight="50dip"/>
+
+</com.android.contacts.widget.InterpolatingLayout>
\ No newline at end of file
diff --git a/res/layout-sw580dp/event_field_editor_view.xml b/res/layout-sw580dp/event_field_editor_view.xml
deleted file mode 100644
index 822de37..0000000
--- a/res/layout-sw580dp/event_field_editor_view.xml
+++ /dev/null
@@ -1,51 +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.
--->
-
-<!-- Editor for a single event entry in the contact editor -->
-
-<com.android.contacts.editor.EventFieldEditorView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:minHeight="?android:attr/listPreferredItemHeight"
-    android:orientation="vertical">
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_weight="1"
-        android:orientation="horizontal"
-        android:gravity="bottom"
-        android:focusable="true"
-        android:clickable="true">
-
-        <include
-            android:id="@+id/date_view"
-            layout="@layout/edit_date_picker" />
-
-        <include
-            android:id="@+id/spinner"
-            layout="@layout/edit_spinner"
-            android:visibility="gone" />
-
-        <include
-            android:id="@+id/delete_button_container"
-            layout="@layout/edit_delete_button"
-            android:visibility="gone" />
-
-    </LinearLayout>
-
-</com.android.contacts.editor.EventFieldEditorView>
diff --git a/res/layout-sw580dp/external_raw_contact_editor_view.xml b/res/layout-sw580dp/external_raw_contact_editor_view.xml
deleted file mode 100644
index fba5220..0000000
--- a/res/layout-sw580dp/external_raw_contact_editor_view.xml
+++ /dev/null
@@ -1,141 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2007 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<com.android.contacts.editor.ExternalRawContactEditorView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:ex="http://schemas.android.com/apk/res/com.android.contacts"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:orientation="vertical">
-
-    <include
-        layout="@layout/editor_account_header" />
-
-    <LinearLayout
-        android:id="@+id/body"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="vertical"
-        android:paddingTop="10dip">
-
-        <com.android.contacts.widget.InterpolatingLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content">
-
-            <FrameLayout
-                android:id="@+id/stub_photo"
-                android:layout_width="96dip"
-                android:layout_height="96dip"
-                android:layout_gravity="top|left"
-                ex:layout_wideParentWidth="960dip"
-                ex:layout_wideMarginLeft="96dip"
-                ex:layout_narrowParentWidth="@dimen/editor_interpolator_narrow_width"
-                ex:layout_narrowMarginLeft="15dip">
-
-                <include
-                    android:id="@+id/edit_photo"
-                    layout="@layout/item_photo_editor" />
-
-            </FrameLayout>
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_gravity="top"
-                ex:layout_wideParentWidth="960dip"
-                ex:layout_wideMarginRight="48dip"
-                ex:layout_narrowParentWidth="@dimen/editor_interpolator_narrow_width"
-                ex:layout_narrowMarginRight="15dip"
-                android:orientation="vertical">
-
-                <View
-                    android:layout_width="match_parent"
-                    android:layout_height="1px"
-                    android:background="@color/contact_detail_header_divider_color" />
-
-                <TextView
-                    android:id="@+id/read_only_name"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_marginLeft="@dimen/editor_name_text_field_left_margin"
-                    android:layout_marginRight="48dip"
-                    android:layout_marginTop="6dip"
-                    android:layout_marginBottom="4dip"
-                    android:paddingRight="?android:attr/scrollbarSize"
-                    android:textSize="@dimen/contact_name_text_size" />
-            </LinearLayout>
-        </com.android.contacts.widget.InterpolatingLayout>
-
-        <com.android.contacts.widget.InterpolatingLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content">
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:orientation="vertical"
-                ex:layout_wideParentWidth="960dip"
-                ex:layout_wideMarginLeft="96dip"
-                ex:layout_wideMarginRight="96dip"
-                ex:layout_narrowParentWidth="@dimen/editor_interpolator_narrow_width"
-                ex:layout_narrowMarginLeft="15dip"
-                ex:layout_narrowMarginRight="15dip">
-
-                <TextView
-                    android:id="@+id/read_only_warning"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="13dip"
-                    android:layout_marginBottom="13dip"
-                    android:layout_marginLeft="13dip"
-                    android:textAppearance="?android:attr/textAppearanceSmall"
-                    android:textColor="?android:attr/textColorPrimary"
-                    android:drawableLeft="?android:attr/alertDialogIcon"
-                    android:drawablePadding="10dip"
-                    android:gravity="center_vertical" />
-
-                <View
-                    android:layout_width="match_parent"
-                    android:layout_height="1px"
-                    android:background="?android:attr/listDivider" />
-
-                <LinearLayout
-                    android:id="@+id/sect_general"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:orientation="vertical" />
-            </LinearLayout>
-        </com.android.contacts.widget.InterpolatingLayout>
-
-        <com.android.contacts.widget.InterpolatingLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="10dip"
-            android:layout_marginBottom="42dip">
-            <Button
-                android:id="@+id/button_edit_externally"
-                android:text="@string/edit_contact"
-                ex:layout_wideParentWidth="960dip"
-                ex:layout_wideMarginLeft="246dip"
-                ex:layout_wideMarginRight="156dip"
-                ex:layout_narrowParentWidth="@dimen/editor_interpolator_narrow_width"
-                ex:layout_narrowMarginLeft="165dip"
-                ex:layout_narrowMarginRight="121dip"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content" />
-        </com.android.contacts.widget.InterpolatingLayout>
-    </LinearLayout>
-</com.android.contacts.editor.ExternalRawContactEditorView>
diff --git a/res/layout-sw580dp/group_detail_fragment.xml b/res/layout-sw580dp/group_detail_fragment.xml
index a7db154..c11337f 100644
--- a/res/layout-sw580dp/group_detail_fragment.xml
+++ b/res/layout-sw580dp/group_detail_fragment.xml
@@ -21,14 +21,16 @@
     android:orientation="vertical"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:paddingLeft="@dimen/group_detail_border_padding"
+    android:paddingRight="@dimen/group_detail_border_padding"
     android:background="@drawable/panel_content">
 
     <TextView
         android:id="@+id/group_title"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:paddingLeft="@dimen/group_detail_border_padding"
-        android:paddingTop="@dimen/group_detail_vertical_padding"
+        android:paddingLeft="8dip"
+        android:paddingTop="12dip"
         android:textAppearance="?android:attr/textAppearanceLarge"
         android:textStyle="bold" />
 
@@ -36,31 +38,25 @@
         android:id="@+id/group_size"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:paddingLeft="@dimen/group_detail_border_padding"
+        android:paddingLeft="8dip"
         android:textAppearance="?android:attr/textAppearanceSmall"
         android:textColor="?android:attr/textColorTertiary" />
 
     <View
         android:layout_width="match_parent"
         android:layout_height="1dip"
-        android:background="?android:attr/listDivider"
-        android:layout_marginTop="@dimen/group_detail_vertical_padding"
-        android:layout_marginBottom="@dimen/group_detail_vertical_padding"
-        android:layout_marginLeft="@dimen/group_detail_divider_margin"
-        android:layout_marginRight="@dimen/group_detail_divider_margin" />
+        android:background="@color/people_app_theme_color"
+        android:layout_marginTop="12dip" />
 
     <FrameLayout
         android:id="@+id/group_source_view_container"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_gravity="center_vertical"
-        android:paddingLeft="@dimen/group_detail_border_padding" />
+        android:layout_gravity="center_vertical" />
 
     <ListView android:id="@android:id/list"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:layout_marginLeft="@dimen/group_detail_border_padding"
-        android:layout_marginRight="@dimen/group_detail_border_padding"
         android:cacheColorHint="#00000000"
         android:divider="@null" />
 
diff --git a/res/layout-xlarge/group_editor_activity.xml b/res/layout-sw580dp/group_editor_activity.xml
similarity index 100%
rename from res/layout-xlarge/group_editor_activity.xml
rename to res/layout-sw580dp/group_editor_activity.xml
diff --git a/res/layout-sw580dp/item_group_membership.xml b/res/layout-sw580dp/item_group_membership.xml
deleted file mode 100644
index 985b7ae..0000000
--- a/res/layout-sw580dp/item_group_membership.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- the body surrounding all editors for a specific kind -->
-
-<com.android.contacts.editor.GroupMembershipView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="@dimen/editor_min_line_item_height"
-    android:orientation="horizontal">
-
-    <TextView
-        android:id="@+id/kind_title"
-        android:layout_width="@dimen/editor_title_label_width"
-        android:layout_height="@dimen/editor_min_line_item_height"
-        android:gravity="center_vertical"
-        android:textAppearance="?android:attr/textAppearanceSmall"
-        android:singleLine="true"
-        android:textColor="@color/editor_label_text_color"
-        android:ellipsize="marquee" />
-
-    <Button
-        style="?android:attr/spinnerStyle"
-        android:id="@+id/group_list"
-        android:layout_width="0dip"
-        android:layout_height="wrap_content"
-        android:layout_weight="1"
-        android:textAppearance="?android:attr/textAppearanceMedium"
-        android:gravity="left|center_vertical"
-        android:ellipsize="end"
-        android:focusable="true"
-        android:paddingLeft="18dip"
-    />
-    
-    <!-- Plus/Minus button only for layout. This makes the editor lay out nicely with the other fields -->
-    <ImageButton
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:paddingLeft="@dimen/editor_round_button_padding_left"
-        android:paddingRight="@dimen/editor_round_button_padding_right"
-        android:paddingTop="@dimen/editor_round_button_padding_top"
-        android:paddingBottom="@dimen/editor_round_button_padding_bottom"
-        android:src="@drawable/ic_menu_add_field_holo_light"
-        android:background="@null"
-        android:visibility="invisible" />
-    <ImageButton
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:paddingLeft="@dimen/editor_round_button_padding_left"
-        android:paddingRight="@dimen/editor_round_button_padding_right"
-        android:paddingTop="@dimen/editor_round_button_padding_top"
-        android:paddingBottom="@dimen/editor_round_button_padding_bottom"
-        android:src="@drawable/ic_menu_remove_field_holo_light"
-        android:background="@null"
-        android:visibility="invisible" />
-</com.android.contacts.editor.GroupMembershipView>
diff --git a/res/layout-sw580dp/people_activity.xml b/res/layout-sw580dp/people_activity.xml
index 8bf627f..35c11b1 100644
--- a/res/layout-sw580dp/people_activity.xml
+++ b/res/layout-sw580dp/people_activity.xml
@@ -20,23 +20,19 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
-    <com.android.contacts.widget.InterpolatingLayout
+    <LinearLayout
         android:id="@+id/main_view"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:layout_marginLeft="8dip"
+        android:orientation="horizontal"
         android:splitMotionEvents="true">
 
         <LinearLayout
             android:id="@+id/browse_view"
-            android:layout_width="wrap_content"
+            android:layout_width="0dip"
             android:layout_height="match_parent"
+            android:layout_weight="1"
             android:orientation="vertical"
-            android:minWidth="100dip"
-            ex:layout_narrowParentWidth="800dip"
-            ex:layout_narrowWidth="310dip"
-            ex:layout_wideParentWidth="1280dip"
-            ex:layout_wideWidth="430dip"
             android:background="@drawable/list_background_holo"
             android:visibility="gone">
 
@@ -59,14 +55,9 @@
         <view
             class="com.android.contacts.widget.TransitionAnimationView"
             android:id="@+id/details_view"
-            android:layout_width="match_parent"
+            android:layout_width="0dip"
             android:layout_height="match_parent"
-            ex:layout_narrowParentWidth="800dip"
-            ex:layout_narrowMarginLeft="0dip"
-            ex:layout_narrowMarginRight="0dip"
-            ex:layout_wideParentWidth="1280dip"
-            ex:layout_wideMarginLeft="0dip"
-            ex:layout_wideMarginRight="0dip"
+            android:layout_weight="1"
             ex:clipMarginLeft="0dip"
             ex:clipMarginTop="3dip"
             ex:clipMarginRight="3dip"
@@ -105,19 +96,13 @@
             android:id="@+id/favorites_view"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
-            ex:layout_narrowParentWidth="800dip"
-            ex:layout_narrowMarginRight="0dip"
-            ex:layout_wideParentWidth="1280dip"
-            ex:layout_wideMarginRight="48dip"
             ex:clipMarginLeft="0dip"
             ex:clipMarginTop="3dip"
             ex:clipMarginRight="3dip"
             ex:clipMarginBottom="9dip"
             ex:enterAnimation="@android:animator/fade_in"
             ex:exitAnimation="@android:animator/fade_out"
-            ex:animationDuration="200"
-            android:paddingTop="32dip"
-            android:paddingRight="32dip">
+            ex:animationDuration="200">
 
             <LinearLayout
                 android:layout_width="match_parent"
@@ -129,20 +114,23 @@
                     android:id="@+id/favorites_fragment"
                     class="com.android.contacts.list.ContactTileListFragment"
                     android:layout_height="match_parent"
-                    android:layout_width="0dip"
-                    android:layout_weight="2" />
+                    style="@style/FavoritesFragmentStyle"
+                    android:layout_marginTop="32dip"
+                    android:layout_marginLeft="32dip"
+                    android:layout_marginRight="32dip" />
 
                 <!-- Most Frequent -->
                 <fragment
                     android:id="@+id/frequent_fragment"
                     class="com.android.contacts.list.ContactTileListFragment"
+                    style="@style/FrequentFragmentStyle"
                     android:layout_height="match_parent"
-                    android:layout_width="0dip"
-                    android:layout_weight="1" />
+                    android:layout_marginTop="32dip"
+                    android:layout_marginRight="32dip"/>
             </LinearLayout>
         </view>
 
-    </com.android.contacts.widget.InterpolatingLayout>
+    </LinearLayout>
 
     <com.android.contacts.widget.InterpolatingLayout
         android:id="@+id/contacts_unavailable_view"
diff --git a/res/layout-sw580dp/phonetic_name_editor_view.xml b/res/layout-sw580dp/phonetic_name_editor_view.xml
deleted file mode 100644
index f27c1fc..0000000
--- a/res/layout-sw580dp/phonetic_name_editor_view.xml
+++ /dev/null
@@ -1,59 +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.
--->
-
-<com.android.contacts.editor.PhoneticNameEditorView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:minHeight="?android:attr/listPreferredItemHeight"
-    android:orientation="vertical"
-    android:paddingRight="?android:attr/scrollbarSize"
-    android:layout_marginLeft="@dimen/editor_name_text_field_left_margin"
-    android:layout_marginRight="48dip"
-    android:layout_marginTop="6dip"
-    android:layout_marginBottom="4dip">
-
-    <include
-        android:id="@+id/spinner"
-        layout="@layout/edit_spinner"
-        android:visibility="gone" />
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_weight="1"
-        android:orientation="horizontal"
-        android:gravity="center_vertical"
-        android:focusable="true"
-        android:clickable="true">
-
-        <include
-            android:id="@+id/editors"
-            layout="@layout/edit_field_list" />
-
-        <include
-            android:id="@+id/expansion_view_container"
-            layout="@layout/edit_expansion_view"
-            android:visibility="gone" />
-
-        <include
-            android:id="@+id/delete_button_container"
-            layout="@layout/edit_delete_button"
-            android:visibility="gone" />
-
-    </LinearLayout>
-
-</com.android.contacts.editor.PhoneticNameEditorView>
diff --git a/res/layout-sw580dp/raw_contact_editor_view.xml b/res/layout-sw580dp/raw_contact_editor_view.xml
deleted file mode 100644
index 11fc161..0000000
--- a/res/layout-sw580dp/raw_contact_editor_view.xml
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2007 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<com.android.contacts.editor.RawContactEditorView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:ex="http://schemas.android.com/apk/res/com.android.contacts"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:orientation="vertical">
-
-    <include
-        layout="@layout/editor_account_header" />
-
-    <LinearLayout
-        android:id="@+id/body"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="vertical"
-        android:paddingTop="10dip">
-
-        <com.android.contacts.widget.InterpolatingLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content">
-
-            <FrameLayout
-                android:id="@+id/stub_photo"
-                android:layout_width="96dip"
-                android:layout_height="96dip"
-                android:layout_gravity="top|left"
-                ex:layout_wideParentWidth="960dip"
-                ex:layout_wideMarginLeft="96dip"
-                ex:layout_narrowParentWidth="@dimen/editor_interpolator_narrow_width"
-                ex:layout_narrowMarginLeft="20dip">
-
-                <include
-                    android:id="@+id/edit_photo"
-                    layout="@layout/item_photo_editor" />
-
-            </FrameLayout>
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_gravity="top"
-                ex:layout_wideParentWidth="960dip"
-                ex:layout_wideMarginRight="48dip"
-                ex:layout_wideMarginLeft="10dip"
-                ex:layout_narrowParentWidth="@dimen/editor_interpolator_narrow_width"
-                ex:layout_narrowMarginRight="15dip"
-                ex:layout_narrowMarginLeft="5dip"
-                android:orientation="vertical">
-
-                <View
-                    android:layout_width="match_parent"
-                    android:layout_height="1px"
-                    android:background="@color/contact_detail_header_divider_color" />
-
-                <include
-                    android:id="@+id/edit_name"
-                    layout="@layout/structured_name_editor_view" />
-
-                <include
-                    android:id="@+id/edit_phonetic_name"
-                    layout="@layout/phonetic_name_editor_view" />
-
-                <FrameLayout
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_marginLeft="@dimen/editor_name_text_field_left_margin"
-                    android:layout_marginRight="48dip">
-                    <ViewStub
-                        android:id="@+id/aggregation_suggestion_stub"
-                        android:inflatedId="@+id/aggregation_suggestion"
-                        android:layout="@layout/aggregation_suggestions"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:visibility="visible" />
-                </FrameLayout>
-            </LinearLayout>
-        </com.android.contacts.widget.InterpolatingLayout>
-
-        <com.android.contacts.widget.InterpolatingLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content">
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:orientation="vertical"
-                ex:layout_wideParentWidth="960dip"
-                ex:layout_wideMarginLeft="96dip"
-                ex:layout_wideMarginRight="48dip"
-                ex:layout_narrowParentWidth="@dimen/editor_interpolator_narrow_width"
-                ex:layout_narrowMarginLeft="25dip"
-                ex:layout_narrowMarginRight="10dip">
-
-                <LinearLayout
-                    android:id="@+id/sect_fields"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:orientation="vertical"
-                    android:paddingRight="@dimen/editor_name_text_field_right_margin" />
-            </LinearLayout>
-        </com.android.contacts.widget.InterpolatingLayout>
-
-        <com.android.contacts.widget.InterpolatingLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="16dip"
-            android:layout_marginBottom="32dip">
-            <Button
-                android:id="@+id/button_add_field"
-                android:text="@string/add_field"
-                ex:layout_wideParentWidth="960dip"
-                ex:layout_wideMarginLeft="246dip"
-                ex:layout_wideMarginRight="156dip"
-                ex:layout_narrowParentWidth="@dimen/editor_interpolator_narrow_width"
-                ex:layout_narrowMarginLeft="165dip"
-                ex:layout_narrowMarginRight="121dip"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content" />
-        </com.android.contacts.widget.InterpolatingLayout>
-
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="1px"
-            android:layout_alignParentBottom="true"
-            android:background="?android:attr/listDivider" />
-    </LinearLayout>
-</com.android.contacts.editor.RawContactEditorView>
diff --git a/res/layout-sw580dp/structured_name_editor_view.xml b/res/layout-sw580dp/structured_name_editor_view.xml
deleted file mode 100644
index 97e222e..0000000
--- a/res/layout-sw580dp/structured_name_editor_view.xml
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<com.android.contacts.editor.StructuredNameEditorView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:minHeight="?android:attr/listPreferredItemHeight"
-    android:orientation="vertical"
-    android:paddingRight="?android:attr/scrollbarSize"
-    android:layout_marginLeft="@dimen/editor_name_text_field_left_margin"
-    android:layout_marginRight="48dip"
-    android:layout_marginTop="6dip"
-    android:layout_marginBottom="4dip">
-
-    <include
-        android:id="@+id/spinner"
-        layout="@layout/edit_spinner"
-        android:visibility="gone" />
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_weight="1"
-        android:orientation="horizontal"
-        android:focusable="true"
-        android:clickable="true">
-
-        <include
-            android:id="@+id/editors"
-            layout="@layout/edit_field_list" />
-
-        <include
-            android:id="@+id/expansion_view_container"
-            layout="@layout/edit_expansion_view"
-            android:visibility="gone" />
-
-        <include
-            android:id="@+id/delete_button_container"
-            layout="@layout/edit_delete_button"
-            android:visibility="gone" />
-
-    </LinearLayout>
-
-</com.android.contacts.editor.StructuredNameEditorView>
diff --git a/res/layout-sw580dp/text_fields_editor_view.xml b/res/layout-sw580dp/text_fields_editor_view.xml
index be0ea67..ecc9dd2 100644
--- a/res/layout-sw580dp/text_fields_editor_view.xml
+++ b/res/layout-sw580dp/text_fields_editor_view.xml
@@ -18,7 +18,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:minHeight="?android:attr/listPreferredItemHeight"
+    android:layout_marginTop="-4dip"
     android:orientation="vertical">
 
     <LinearLayout
@@ -26,7 +26,7 @@
         android:layout_height="wrap_content"
         android:layout_weight="1"
         android:orientation="horizontal"
-        android:gravity="top"
+        android:gravity="center_vertical"
         android:focusable="true"
         android:clickable="true">
 
@@ -35,14 +35,13 @@
             layout="@layout/edit_field_list" />
 
         <include
-            android:id="@+id/spinner"
-            layout="@layout/edit_spinner"
-            android:paddingTop="15dip"
+            android:id="@+id/expansion_view_container"
+            layout="@layout/edit_expansion_view"
             android:visibility="gone" />
 
         <include
-            android:id="@+id/expansion_view_container"
-            layout="@layout/edit_expansion_view"
+            android:id="@+id/spinner"
+            layout="@layout/edit_spinner"
             android:visibility="gone" />
 
         <include
diff --git a/res/layout-w470dp/contact_detail_fragment.xml b/res/layout-w470dp/contact_detail_fragment.xml
index 56c9f20..d63236d 100644
--- a/res/layout-w470dp/contact_detail_fragment.xml
+++ b/res/layout-w470dp/contact_detail_fragment.xml
@@ -77,7 +77,6 @@
         android:layout_alignParentLeft="true"
         android:layout_alignParentTop="true"
         android:background="@android:color/black"
-        android:alpha=".50"
         android:visibility="gone"/>
 
     <View
diff --git a/res/layout-w470dp/contact_detail_updates_fragment.xml b/res/layout-w470dp/contact_detail_updates_fragment.xml
index 92ddd8c..dd7cfbd 100644
--- a/res/layout-w470dp/contact_detail_updates_fragment.xml
+++ b/res/layout-w470dp/contact_detail_updates_fragment.xml
@@ -14,21 +14,45 @@
      limitations under the License.
 -->
 
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:ex="http://schemas.android.com/apk/res/com.android.contacts"
     android:id="@+id/contact_detail_updates_fragment"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical">
+    android:layout_height="match_parent">
 
-    <include
-        android:id="@+id/title"
-        layout="@layout/contact_detail_kind_title_entry_view" />
-
-    <ListView android:id="@android:id/list"
+    <LinearLayout
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="@color/background_social_updates"
-        android:divider="@null"/>
+        android:layout_height="match_parent"
+        android:orientation="vertical">
 
-</LinearLayout>
+        <include
+            android:id="@+id/title"
+            layout="@layout/contact_detail_kind_title_entry_view" />
+
+        <ListView android:id="@android:id/list"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:background="@color/background_social_updates"
+            android:divider="@null"/>
+
+    </LinearLayout>
+
+    <View
+        android:id="@+id/alpha_overlay"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_alignParentLeft="true"
+        android:layout_alignParentTop="true"
+        android:background="@android:color/black"
+        android:visibility="gone"/>
+
+    <View
+        android:id="@+id/touch_intercept_overlay"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_alignParentLeft="true"
+        android:layout_alignParentTop="true"
+        android:background="?android:attr/selectableItemBackground"
+        android:visibility="gone"/>
+
+</FrameLayout>
diff --git a/res/layout/call_log_list_item.xml b/res/layout/call_log_list_item.xml
index dc0d9e1..5447f65 100644
--- a/res/layout/call_log_list_item.xml
+++ b/res/layout/call_log_list_item.xml
@@ -14,8 +14,9 @@
      limitations under the License.
 -->
 
-<LinearLayout
+<view
     xmlns:android="http://schemas.android.com/apk/res/android"
+    class="com.android.contacts.calllog.CallLogListItemView"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:padding="@dimen/call_log_inner_margin"
@@ -46,14 +47,6 @@
             android:layout_centerVertical="true"
             android:layout_marginLeft="@dimen/call_log_inner_margin"
         />
-        <ImageView
-            android:id="@+id/plain_contact_photo"
-            android:layout_width="@dimen/call_log_list_contact_photo_size"
-            android:layout_height="@dimen/call_log_list_contact_photo_size"
-            android:layout_alignParentLeft="true"
-            android:layout_centerVertical="true"
-            android:layout_marginLeft="@dimen/call_log_inner_margin"
-        />
         <LinearLayout
             android:id="@+id/divider"
             android:layout_width="wrap_content"
@@ -81,24 +74,12 @@
                 android:background="@drawable/ic_divider_dashed_holo_dark"
             />
             <ImageView
-                android:id="@+id/call_icon"
+                android:id="@+id/secondary_action_icon"
                 android:layout_width="@dimen/call_log_call_action_width"
                 android:layout_height="@dimen/call_log_call_action_height"
                 android:layout_gravity="center_vertical"
                 android:scaleType="center"
-                android:src="@drawable/ic_ab_dialer_holo_dark"
                 android:background="@drawable/list_selector"
-                android:contentDescription="@string/description_call_log_call_button"
-            />
-            <ImageView
-                android:id="@+id/play_icon"
-                android:layout_width="@dimen/call_log_call_action_width"
-                android:layout_height="@dimen/call_log_call_action_height"
-                android:layout_gravity="center_vertical"
-                android:scaleType="center"
-                android:src="@drawable/ic_play_holo_dark"
-                android:background="@drawable/list_selector"
-                android:contentDescription="@string/description_call_log_play_button"
             />
         </LinearLayout>
         <LinearLayout
@@ -162,4 +143,4 @@
         android:textStyle="bold"
         android:textColor="?attr/call_log_header_color"
     />
-</LinearLayout>
+</view>
diff --git a/res/layout/contact_detail_tab_carousel.xml b/res/layout/contact_detail_tab_carousel.xml
index fe167d1..fb60f17 100644
--- a/res/layout/contact_detail_tab_carousel.xml
+++ b/res/layout/contact_detail_tab_carousel.xml
@@ -28,10 +28,18 @@
         android:layout_height="match_parent"
         android:orientation="horizontal">
 
+        <!-- "About" tab -->
         <include
             android:id="@+id/tab_about"
             layout="@layout/carousel_about_tab" />
 
+        <!-- Vertical divider -->
+        <View
+            android:layout_width="2dip"
+            android:layout_height="match_parent"
+            android:background="@android:color/white"/>
+
+        <!-- "Updates" tab -->
         <include
             android:id="@+id/tab_update"
             layout="@layout/carousel_updates_tab" />
diff --git a/res/layout/contact_tile_frequent.xml b/res/layout/contact_tile_frequent.xml
index fc9c04c..14cb04e 100644
--- a/res/layout/contact_tile_frequent.xml
+++ b/res/layout/contact_tile_frequent.xml
@@ -52,7 +52,7 @@
             android:id="@+id/contact_tile_status"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:textSize="12sp"
+            android:textSize="14sp"
             android:ellipsize="end"
             android:singleLine="true"
             android:textColor="#cccccc"
diff --git a/res/layout/contact_tile_frequent_phone.xml b/res/layout/contact_tile_frequent_phone.xml
index e0ea0fb..50c1fc2 100644
--- a/res/layout/contact_tile_frequent_phone.xml
+++ b/res/layout/contact_tile_frequent_phone.xml
@@ -47,11 +47,11 @@
             android:id="@+id/contact_tile_phone_number"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:textSize="12sp"
+            android:textSize="14sp"
             android:ellipsize="end"
             android:singleLine="true"
-            android:textColor="#cccccc"
-            android:layout_marginLeft="12dip"
+            android:textColor="@color/dialtacts_secondary_text_color"
+            android:layout_marginLeft="8dip"
             android:layout_toRightOf="@id/contact_tile_quick"
             android:layout_below="@id/contact_tile_name" />
 
@@ -59,14 +59,30 @@
             android:id="@+id/contact_tile_phone_type"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:textSize="12sp"
+            android:textSize="14sp"
             android:ellipsize="end"
             android:singleLine="true"
-            android:textColor="#cccccc"
+            android:textAllCaps="true"
+            android:textColor="@color/dialtacts_secondary_text_color"
             android:layout_marginLeft="12dip"
             android:layout_alignParentRight="true"
             android:layout_alignTop="@id/contact_tile_phone_number" />
 
+        <View
+            android:id="@+id/contact_tile_horizontal_divider"
+            android:layout_width="match_parent"
+            android:layout_height="1dip"
+            android:background="?android:attr/listDivider"
+            android:layout_alignParentBottom="true" />
+
+        <View
+            android:id="@+id/contact_tile_horizontal_picture_divider"
+            android:layout_width="64dip"
+            android:layout_height="1dip"
+            android:background="@android:color/black"
+            android:layout_alignParentBottom="true"
+            android:layout_alignParentLeft="true" />
+
     </RelativeLayout>
 
 </view>
diff --git a/res/layout/contact_tile_starred.xml b/res/layout/contact_tile_starred.xml
index d667a34..3b74946 100644
--- a/res/layout/contact_tile_starred.xml
+++ b/res/layout/contact_tile_starred.xml
@@ -61,7 +61,7 @@
             android:layout_marginLeft="4dip"
             style="@style/ContactTileStatusText" />
 
-        <ImageButton
+       <ImageButton
             android:id="@+id/contact_tile_push_state"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
diff --git a/res/layout/contact_tile_starred_secondary_target.xml b/res/layout/contact_tile_starred_secondary_target.xml
index 887fa5d..3558166 100644
--- a/res/layout/contact_tile_starred_secondary_target.xml
+++ b/res/layout/contact_tile_starred_secondary_target.xml
@@ -61,14 +61,14 @@
         </FrameLayout>
 
         <View
-            android:id="@+id/vertical_divider"
+            android:id="@+id/secondary_vertical_divider"
             android:layout_width="1dip"
-            android:layout_height="24dip"
+            android:layout_height="32dip"
             android:layout_alignParentBottom="true"
             android:layout_alignParentRight="true"
-            android:layout_marginBottom="12dip"
             android:layout_marginRight="44dip"
-            android:background="?android:attr/dividerVertical" />
+            android:layout_marginBottom="8dip"
+            android:background="@drawable/ic_divider_dashed_holo_dark" />
 
         <ImageButton
             android:id="@+id/contact_tile_push_state"
@@ -78,14 +78,28 @@
 
         <ImageButton
             android:id="@+id/contact_tile_secondary_button"
-            android:src="@drawable/ic_tab_unselected_contacts"
+            android:src="@drawable/ic_contacts_holo_dark"
             android:background="?android:attr/selectableItemBackground"
             android:layout_height="@dimen/contact_tile_shadowbox_height"
-            android:layout_width="32dip"
+            android:layout_width="48dip"
             android:layout_alignParentBottom="true"
             android:layout_alignParentRight="true"
-            android:layout_marginLeft="8dip"
-            android:layout_marginRight="8dip" />
+            android:paddingRight="8dip"
+            android:paddingLeft="8dip" />
+
+        <View
+            android:id="@+id/contact_tile_vertical_divider"
+            android:layout_height="match_parent"
+            android:layout_width="2dip"
+            android:background="@color/phone_contact_tile_divider_color"
+            android:layout_alignParentRight="true" />
+
+        <View
+            android:id="@+id/contact_tile_horizontal_divider"
+            android:layout_width="match_parent"
+            android:layout_height="2dip"
+            android:background="@color/phone_contact_tile_divider_color"
+            android:layout_alignParentBottom="true" />
 
     </RelativeLayout>
 
diff --git a/res/layout/contacts_list_content.xml b/res/layout/contacts_list_content.xml
index 92841b6..567e63d 100644
--- a/res/layout/contacts_list_content.xml
+++ b/res/layout/contacts_list_content.xml
@@ -18,68 +18,54 @@
      android:layout_marginTop is ignored when used with <fragment></fragment>, which
      only happens in Tablet UI since we rely on ViewPager in Phone UI.
      Instead, android:layout_marginTop inside <fragment /> is effective. -->
-<FrameLayout
+
+<LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/pinned_header_list_layout"
     android:paddingTop="@dimen/contact_browser_list_top_margin"
+    android:orientation="vertical"
     android:layout_width="match_parent"
     android:layout_height="match_parent" >
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:orientation="vertical">
 
-        <!-- Shown only when an Account filter is set. -->
-        <LinearLayout
-            android:id="@+id/account_filter_header_container"
+    <!-- Shown only when an Account filter is set. -->
+    <LinearLayout
+        android:id="@+id/account_filter_header_container"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:layout_marginLeft="@dimen/contact_browser_list_header_left_margin"
+        android:layout_marginRight="@dimen/contact_browser_list_header_right_margin"
+        android:visibility="gone">
+        <TextView
+            android:id="@+id/account_filter_header"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:orientation="vertical"
-            android:layout_marginLeft="@dimen/contact_browser_list_header_left_margin"
-            android:layout_marginRight="@dimen/contact_browser_list_header_right_margin"
-            android:visibility="gone">
-            <TextView
-                android:id="@+id/account_filter_header"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:minHeight="@dimen/contact_filter_header_min_height"
-                android:layout_marginLeft="8dip"
-                android:singleLine="true"
-                android:ellipsize="end"
-                android:gravity="left"
-                android:textAppearance="?android:attr/textAppearanceSmall"
-                android:textColor="?android:attr/textColorSecondary" />
-            <View
-                android:id="@+id/account_filter_header_bottom_divider"
-                style="@style/SectionDivider" />
-        </LinearLayout>
-
-        <view
-            class="com.android.contacts.list.ContactEntryListView"
-            android:id="@android:id/list"
-            android:layout_width="match_parent"
-            android:layout_height="0dip"
-            android:layout_marginLeft="@dimen/contact_browser_list_left_margin"
-            android:layout_marginRight="@dimen/contact_browser_list_right_margin"
-            android:fastScrollEnabled="true"
-            android:layout_weight="1" />
-
-        <ViewStub
-            android:id="@+id/footer_stub"
-            android:layout="@layout/footer_panel"
-            android:layout_width="fill_parent"
-            android:layout_height="wrap_content" />
+            android:minHeight="@dimen/contact_filter_header_min_height"
+            android:layout_marginLeft="8dip"
+            android:singleLine="true"
+            android:ellipsize="end"
+            android:gravity="left"
+            android:textAppearance="?android:attr/textAppearanceSmall"
+            android:textColor="?android:attr/textColorSecondary" />
+        <View
+            android:id="@+id/account_filter_header_bottom_divider"
+            style="@style/SectionDivider" />
     </LinearLayout>
-    <TextView
-        android:id="@+id/contacts_count"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginRight="@dimen/contacts_count_right_margin"
-        android:singleLine="true"
-        android:ellipsize="end"
-        android:gravity="right"
-        android:layout_gravity="top|right"
-        android:textAppearance="?android:attr/textAppearanceSmall"
-        android:textColor="@color/contact_count_text_color"
-        android:background="@color/contact_browser_list_bk_color" />
-</FrameLayout>
+
+    <view
+        class="com.android.contacts.list.ContactEntryListView"
+        android:id="@android:id/list"
+        android:layout_width="match_parent"
+           android:layout_height="0dip"
+           android:layout_marginLeft="@dimen/contact_browser_list_left_margin"
+        android:layout_marginRight="@dimen/contact_browser_list_right_margin"
+        android:fastScrollEnabled="true"
+        android:layout_weight="1" />
+
+   <ViewStub
+       android:id="@+id/footer_stub"
+       android:layout="@layout/footer_panel"
+       android:layout_width="fill_parent"
+       android:layout_height="wrap_content" />
+
+</LinearLayout>
diff --git a/res/layout/edit_add_field.xml b/res/layout/edit_add_field.xml
index b17185d..0b62ac1 100644
--- a/res/layout/edit_add_field.xml
+++ b/res/layout/edit_add_field.xml
@@ -17,8 +17,8 @@
 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:minHeight="48dip"
-    android:paddingLeft="16dip"
+    android:minHeight="40dip"
+    android:paddingLeft="@dimen/editor_add_field_label_left_padding"
     android:background="?android:attr/selectableItemBackground">
     <TextView
         android:id="@+id/add_text"
diff --git a/res/layout/edit_delete_button.xml b/res/layout/edit_delete_button.xml
index f05b0e4..ed3f4d6 100644
--- a/res/layout/edit_delete_button.xml
+++ b/res/layout/edit_delete_button.xml
@@ -19,12 +19,13 @@
 <FrameLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
+    android:layout_height="@dimen/editor_min_line_item_height"
     android:layout_gravity="top">
     <ImageView
         android:id="@+id/delete_button"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
+        android:layout_gravity="center"
         android:duplicateParentState="true"
         android:background="?android:attr/selectableItemBackground"
         android:src="@drawable/ic_menu_remove_field_holo_light"
diff --git a/res/layout/edit_kind_title.xml b/res/layout/edit_kind_title.xml
index 0f755ee..8901d5b 100644
--- a/res/layout/edit_kind_title.xml
+++ b/res/layout/edit_kind_title.xml
@@ -24,14 +24,15 @@
     android:minHeight="24dip"
     android:paddingLeft="8dip"
     android:paddingRight="8dip"
+    android:paddingBottom="4dip"
     android:orientation="vertical">
 
     <TextView
         android:id="@+id/kind_title"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:paddingLeft="8dip"
-        android:textAppearance="?android:attr/textAppearanceMedium"
+        android:paddingLeft="@dimen/editor_kind_title_left_padding"
+        android:textAppearance="?android:attr/textAppearanceSmall"
         android:textColor="@color/people_app_theme_color"
         android:textStyle="bold"
         android:textAllCaps="true"
diff --git a/res/layout/edit_spinner.xml b/res/layout/edit_spinner.xml
index 37edcbd..0f3ed23 100644
--- a/res/layout/edit_spinner.xml
+++ b/res/layout/edit_spinner.xml
@@ -22,6 +22,6 @@
     android:id="@+id/spinner"
     android:layout_gravity="top"
     android:layout_width="@dimen/editor_type_label_width"
-    android:layout_height="wrap_content"
-    android:paddingLeft="5dip"
+    android:layout_height="@dimen/editor_min_line_item_height"
+    android:paddingLeft="8dip"
     android:paddingRight="20dip"/>
\ No newline at end of file
diff --git a/res/layout/external_raw_contact_editor_view.xml b/res/layout/external_raw_contact_editor_view.xml
index 6f39b34..24e8322 100644
--- a/res/layout/external_raw_contact_editor_view.xml
+++ b/res/layout/external_raw_contact_editor_view.xml
@@ -19,7 +19,8 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:orientation="vertical">
+    android:orientation="vertical"
+    android:paddingBottom="32dip">
 
     <include
         layout="@layout/editor_account_header" />
@@ -28,8 +29,8 @@
         android:layout_height="wrap_content"
         android:layout_width="match_parent"
         android:orientation="horizontal"
-        android:paddingLeft="16dip"
-        android:paddingRight="16dip">
+        android:paddingTop="8dip"
+        android:paddingLeft="16dip">
 
         <TextView android:id="@+id/read_only_name"
             android:layout_width="0dip"
@@ -45,7 +46,8 @@
         <FrameLayout
             android:id="@+id/stub_photo"
             android:layout_width="wrap_content"
-            android:layout_height="wrap_content">
+            android:layout_height="wrap_content"
+            android:layout_marginRight="8dip">
 
             <include
                 android:id="@+id/edit_photo"
diff --git a/res/layout/group_browse_list_account_header.xml b/res/layout/group_browse_list_account_header.xml
index 7c07497..f739ea2 100644
--- a/res/layout/group_browse_list_account_header.xml
+++ b/res/layout/group_browse_list_account_header.xml
@@ -18,7 +18,10 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:padding="@dimen/group_list_header_padding"
+    android:background="@drawable/list_background_holo"
+    android:paddingLeft="@dimen/group_list_header_padding"
+    android:paddingRight="@dimen/group_list_header_padding"
+    android:paddingTop="@dimen/group_list_header_padding"
     android:orientation="vertical">
 
     <LinearLayout
diff --git a/res/layout/group_browse_list_item.xml b/res/layout/group_browse_list_item.xml
index 6f5fcef..326b413 100644
--- a/res/layout/group_browse_list_item.xml
+++ b/res/layout/group_browse_list_item.xml
@@ -19,16 +19,12 @@
     android:orientation="vertical"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:minHeight="@dimen/detail_min_line_item_height"
-    android:paddingRight="20dip"
-    android:paddingBottom="10dip"
-    style="@style/GroupBrowseListItem">
+    android:minHeight="@dimen/detail_min_line_item_height">
 
     <ImageView
         android:id="@+id/divider"
         android:layout_width="match_parent"
         android:layout_height="1dip"
-        android:layout_marginBottom="10dip"
         android:paddingLeft="10dip"
         android:paddingRight="10dip"
         android:scaleType="fitXY"
@@ -37,11 +33,17 @@
     <include
         android:id="@+id/group_list_header"
         layout="@layout/group_browse_list_account_header"
+        android:paddingRight="20dip"
+        android:paddingBottom="10dip"
         android:visibility="gone" />
 
     <RelativeLayout
         android:layout_width="match_parent"
-        android:layout_height="wrap_content">
+        android:layout_height="wrap_content"
+        android:paddingTop="10dip"
+        android:paddingRight="20dip"
+        android:paddingBottom="10dip"
+        style="@style/GroupBrowseListItem">
 
         <LinearLayout
             android:layout_width="match_parent"
diff --git a/res/layout/item_photo_editor.xml b/res/layout/item_photo_editor.xml
index 2e73cb2..a41b007 100644
--- a/res/layout/item_photo_editor.xml
+++ b/res/layout/item_photo_editor.xml
@@ -17,13 +17,13 @@
 <view
     class="com.android.contacts.editor.PhotoEditorView"
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="@dimen/edit_photo_size"
-    android:layout_height="@dimen/edit_photo_size"
+    android:layout_width="42dip"
+    android:layout_height="42dip"
     >
     <ImageView
         android:id="@+id/photo"
-        android:layout_width="@dimen/edit_photo_size"
-        android:layout_height="@dimen/edit_photo_size"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
         android:src="@drawable/ic_contact_picture"
         android:cropToPadding="true"
         android:scaleType="centerCrop"
@@ -31,8 +31,8 @@
     />
     <View
         android:id="@+id/frame"
-        android:layout_width="@dimen/edit_photo_size"
-        android:layout_height="@dimen/edit_photo_size"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
         android:clickable="true"
         android:focusable="true"
         android:contentDescription="@string/description_contact_photo"
diff --git a/res/layout/list_separator.xml b/res/layout/list_separator.xml
index af83584..7d57ef7 100644
--- a/res/layout/list_separator.xml
+++ b/res/layout/list_separator.xml
@@ -15,8 +15,30 @@
 -->
 
 <!-- Layout used for list separators. -->
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
-    style="?android:attr/listSeparatorTextViewStyle"
-    android:gravity="left|center_vertical"
-    android:id="@+id/header_text"
-/>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="wrap_content"
+    android:orientation="vertical"
+    android:layout_height="32dip"
+    android:divider="?android:attr/dividerVertical"
+    android:paddingLeft="16dip"
+    android:paddingRight="16dip">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:paddingTop="8dip"
+            android:paddingLeft="8dip"
+            android:textStyle="bold"
+            android:textAllCaps="true"
+            android:singleLine="true"
+            android:textAppearance="?android:attr/textAppearanceSmall"
+            android:textColor="@color/people_app_theme_color"
+            android:gravity="left|center_vertical"
+            android:id="@+id/header_text" />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="1dip"
+            android:background="@color/people_app_theme_color" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/organization_editor_view_switcher.xml b/res/layout/organization_editor_view_switcher.xml
index fb21626..810634c 100644
--- a/res/layout/organization_editor_view_switcher.xml
+++ b/res/layout/organization_editor_view_switcher.xml
@@ -23,14 +23,14 @@
 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:minHeight="48dip"
+    android:minHeight="40dip"
     android:background="?android:attr/selectableItemBackground">
 
     <TextView
         android:id="@+id/add_organization_button"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:paddingLeft="16dip"
+        android:paddingLeft="@dimen/editor_add_field_label_left_padding"
         android:paddingRight="16dip"
         android:layout_gravity="center_vertical"
         android:duplicateParentState="true"
diff --git a/res/layout/phonetic_name_editor_view.xml b/res/layout/phonetic_name_editor_view.xml
index 6084d3f..5846998 100644
--- a/res/layout/phonetic_name_editor_view.xml
+++ b/res/layout/phonetic_name_editor_view.xml
@@ -18,6 +18,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
+    android:minHeight="@dimen/editor_min_line_item_height"
     android:orientation="vertical">
 
     <include
diff --git a/res/layout/playback_layout.xml b/res/layout/playback_layout.xml
index 05b3e43..83b1c01 100644
--- a/res/layout/playback_layout.xml
+++ b/res/layout/playback_layout.xml
@@ -18,28 +18,40 @@
             android:orientation="horizontal"
             android:layout_alignParentTop="true"
         >
-            <ImageButton
-                android:id="@+id/playback_start_stop"
-                android:layout_width="wrap_content"
+            <LinearLayout
+                android:layout_width="match_parent"
                 android:layout_height="58dip"
                 android:layout_marginRight="2dip"
                 android:background="@drawable/dialpad_background"
-                android:src="@drawable/ic_hold_pause_holo_dark"
                 android:layout_weight="1"
-            />
-            <ImageButton
-                android:id="@+id/playback_speakerphone"
-                android:layout_width="wrap_content"
+            >
+                <ImageButton
+                    android:id="@+id/playback_start_stop"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:background="@drawable/btn_dial"
+                    android:src="@drawable/ic_hold_pause_holo_dark"
+                />
+            </LinearLayout>
+            <LinearLayout
+                android:layout_width="match_parent"
                 android:layout_height="58dip"
                 android:layout_marginLeft="2dip"
                 android:background="@drawable/dialpad_background"
-                android:src="@drawable/ic_sound_holo_dark"
                 android:layout_weight="1"
-            />
+            >
+                <ImageButton
+                    android:id="@+id/playback_speakerphone"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:background="@drawable/btn_dial"
+                    android:src="@drawable/ic_sound_holo_dark"
+                />
+            </LinearLayout>
         </LinearLayout>
         <RelativeLayout
             android:id="@+id/seek_container"
-            android:layout_width="fill_parent"
+            android:layout_width="match_parent"
             android:layout_height="80dip"
             android:background="@drawable/dialpad_background"
             android:layout_below="@id/buttons_linear_layout"
@@ -52,7 +64,7 @@
                  difference is currently 10dip. -->
             <SeekBar
                 android:id="@+id/playback_seek"
-                android:layout_width="fill_parent"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:progressDrawable="@drawable/seekbar_drawable"
                 android:thumb="@drawable/seek_bar_thumb"
@@ -90,26 +102,22 @@
             <ImageButton
                 android:id="@+id/rate_decrease_button"
                 android:src="@drawable/ic_minus_holo_dark"
-                android:layout_width="wrap_content"
+                android:layout_width="64dip"
                 android:layout_height="wrap_content"
-                android:background="@android:color/transparent"
-                android:paddingLeft="16dip"
-                android:paddingRight="16dip"
-                android:paddingBottom="16dip"
-                android:paddingTop="26dip"
+                android:background="@drawable/btn_dial"
+                android:paddingBottom="19dip"
+                android:paddingTop="29dip"
                 android:layout_alignParentLeft="true"
                 android:layout_centerVertical="true"
             />
             <ImageButton
                 android:id="@+id/rate_increase_button"
                 android:src="@drawable/ic_plus_holo_dark"
-                android:layout_width="wrap_content"
+                android:layout_width="64dip"
                 android:layout_height="wrap_content"
-                android:background="@android:color/transparent"
-                android:paddingLeft="16dip"
-                android:paddingRight="16dip"
-                android:paddingBottom="16dip"
-                android:paddingTop="26dip"
+                android:background="@drawable/btn_dial"
+                android:paddingBottom="19dip"
+                android:paddingTop="29dip"
                 android:layout_alignParentRight="true"
                 android:layout_centerVertical="true"
             />
diff --git a/res/layout/raw_contact_editor_view.xml b/res/layout/raw_contact_editor_view.xml
index b4aa766..b98f4fb 100644
--- a/res/layout/raw_contact_editor_view.xml
+++ b/res/layout/raw_contact_editor_view.xml
@@ -18,7 +18,8 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:orientation="vertical">
+    android:orientation="vertical"
+    android:paddingTop="@dimen/editor_padding_top">
 
     <include
         layout="@layout/editor_account_header" />
diff --git a/res/layout/stream_item_one_column.xml b/res/layout/stream_item_container.xml
similarity index 95%
rename from res/layout/stream_item_one_column.xml
rename to res/layout/stream_item_container.xml
index ecab57c..1f96aad 100644
--- a/res/layout/stream_item_one_column.xml
+++ b/res/layout/stream_item_container.xml
@@ -19,16 +19,16 @@
     android:layout_height="wrap_content"
     android:orientation="vertical">
 
-    <LinearLayout
+    <TableLayout
         android:id="@+id/stream_item_content"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:paddingTop="@dimen/detail_update_section_item_vertical_padding"
-        android:paddingBottom="@dimen/detail_update_section_item_vertical_padding"
+        android:paddingBottom="@dimen/detail_update_section_item_last_row_extra_vertical_padding"
         android:paddingLeft="@dimen/detail_update_section_item_horizontal_padding"
         android:paddingRight="@dimen/detail_update_section_item_horizontal_padding"
         android:background="@drawable/list_selector"
-        android:orientation="vertical" />
+        />
 
     <View
         android:id="@+id/horizontal_divider"
@@ -37,4 +37,5 @@
         android:layout_marginLeft="@dimen/detail_update_section_side_padding"
         android:layout_marginRight="@dimen/detail_update_section_side_padding"
         android:background="?android:attr/dividerHorizontal" />
+
 </LinearLayout>
diff --git a/res/layout/stream_item_pair.xml b/res/layout/stream_item_pair.xml
deleted file mode 100644
index 61b248c..0000000
--- a/res/layout/stream_item_pair.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:orientation="horizontal"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content">
-
-    <FrameLayout android:id="@+id/stream_pair_first"
-        android:layout_width="0dip"
-        android:layout_height="wrap_content"
-        android:layout_weight="1" />
-
-    <FrameLayout android:id="@+id/stream_pair_second"
-        android:paddingLeft="@dimen/detail_update_section_internal_padding"
-        android:layout_width="0dip"
-        android:layout_height="wrap_content"
-        android:layout_weight="1" />
-</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/stream_item_row_image_and_text.xml b/res/layout/stream_item_row_image_and_text.xml
new file mode 100644
index 0000000..b6f6599
--- /dev/null
+++ b/res/layout/stream_item_row_image_and_text.xml
@@ -0,0 +1,77 @@
+<?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.
+-->
+
+<TableRow
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:ex="http://schemas.android.com/apk/res/com.android.contacts"
+    android:paddingBottom="@dimen/detail_update_section_between_items_vertical_padding">
+
+    <view
+        class="com.android.contacts.widget.ProportionalLayout"
+        android:layout_width="0dip"
+        android:layout_height="wrap_content"
+        android:layout_marginRight="@dimen/detail_update_section_between_items_horizontal_padding"
+        android:layout_weight="1"
+        ex:ratio="1"
+        ex:direction="widthToHeight">
+        <ImageView
+            android:id="@+id/stream_item_first_image"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"/>
+    </view>
+
+    <view
+        class="com.android.contacts.widget.ProportionalLayout"
+        android:layout_width="0dip"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        ex:ratio="1"
+        ex:direction="widthToHeight">
+        <LinearLayout
+            android:id="@+id/stream_item_second_text"
+            android:orientation="vertical"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
+
+            <TextView android:id="@+id/stream_item_html"
+                android:layout_width="match_parent"
+                android:layout_height="0dip"
+                android:layout_weight="1"
+                android:textSize="16sp"
+                android:textColor="?android:attr/textColorPrimary" />
+
+            <LinearLayout
+                android:orientation="horizontal"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content">
+                <TextView android:id="@+id/stream_item_attribution"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:textAppearance="?android:attr/textAppearanceSmall"
+                    android:textColor="?android:attr/textColorSecondary" />
+
+                <TextView android:id="@+id/stream_item_comments"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="@dimen/detail_update_section_attribution_comments_padding"
+                    android:textAppearance="?android:attr/textAppearanceSmall"
+                    android:textColor="?android:attr/textColorSecondary" />
+            </LinearLayout>
+
+        </LinearLayout>
+    </view>
+
+</TableRow>
diff --git a/res/layout/stream_item_text.xml b/res/layout/stream_item_row_text_only.xml
similarity index 76%
rename from res/layout/stream_item_text.xml
rename to res/layout/stream_item_row_text_only.xml
index 861d91f..d1d0efd 100644
--- a/res/layout/stream_item_text.xml
+++ b/res/layout/stream_item_row_text_only.xml
@@ -15,15 +15,16 @@
 -->
 
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:orientation="vertical"
     android:layout_width="match_parent"
-    android:layout_height="wrap_content">
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:paddingBottom="@dimen/detail_update_section_between_items_vertical_padding">
 
     <TextView android:id="@+id/stream_item_html"
-        android:layout_width="wrap_content"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:textSize="16sp"
-        android:textColor="@color/social_update_text_color" />
+        android:textColor="?android:attr/textColorPrimary" />
 
     <LinearLayout
         android:orientation="horizontal"
@@ -33,14 +34,13 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:textAppearance="?android:attr/textAppearanceSmall"
-            android:textColor="@color/social_update_attribution_color" />
+            android:textColor="?android:attr/textColorSecondary" />
 
         <TextView android:id="@+id/stream_item_comments"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_marginLeft="4dip"
+            android:layout_marginLeft="@dimen/detail_update_section_attribution_comments_padding"
             android:textAppearance="?android:attr/textAppearanceSmall"
-            android:textColor="@color/social_update_comments_color" />
+            android:textColor="?android:attr/textColorSecondary" />
     </LinearLayout>
-
 </LinearLayout>
diff --git a/res/layout/stream_item_row_two_images.xml b/res/layout/stream_item_row_two_images.xml
new file mode 100644
index 0000000..6e34b25
--- /dev/null
+++ b/res/layout/stream_item_row_two_images.xml
@@ -0,0 +1,49 @@
+<?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.
+-->
+
+<TableRow
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:ex="http://schemas.android.com/apk/res/com.android.contacts"
+    android:paddingBottom="@dimen/detail_update_section_between_items_vertical_padding">
+
+    <view
+        class="com.android.contacts.widget.ProportionalLayout"
+        android:layout_width="0dip"
+        android:layout_height="wrap_content"
+        android:layout_marginRight="@dimen/detail_update_section_between_items_horizontal_padding"
+        android:layout_weight="1"
+        ex:ratio="1"
+        ex:direction="widthToHeight">
+        <ImageView
+            android:id="@+id/stream_item_first_image"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"/>
+    </view>
+
+    <view
+        class="com.android.contacts.widget.ProportionalLayout"
+        android:layout_width="0dip"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        ex:ratio="1"
+        ex:direction="widthToHeight">
+        <ImageView
+            android:id="@+id/stream_item_second_image"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"/>
+    </view>
+
+</TableRow>
diff --git a/res/layout/structured_name_editor_view.xml b/res/layout/structured_name_editor_view.xml
index 979a0f3..196b079 100644
--- a/res/layout/structured_name_editor_view.xml
+++ b/res/layout/structured_name_editor_view.xml
@@ -18,6 +18,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
+    android:minHeight="@dimen/editor_min_line_item_height"
     android:orientation="vertical">
 
     <include
diff --git a/res/layout/text_fields_editor_view.xml b/res/layout/text_fields_editor_view.xml
index 89970c6..e63b7da 100644
--- a/res/layout/text_fields_editor_view.xml
+++ b/res/layout/text_fields_editor_view.xml
@@ -18,6 +18,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
+    android:layout_marginTop="-2dip"
     android:orientation="vertical">
 
     <LinearLayout
diff --git a/res/layout-sw580dp/edit_spinner.xml b/res/layout/user_profile_button.xml
similarity index 69%
rename from res/layout-sw580dp/edit_spinner.xml
rename to res/layout/user_profile_button.xml
index f1909fe..b7b5e1d 100644
--- a/res/layout-sw580dp/edit_spinner.xml
+++ b/res/layout/user_profile_button.xml
@@ -14,14 +14,14 @@
      limitations under the License.
 -->
 
-<!-- Spinner for a field in the contact editor. -->
-
-<Spinner
+<Button
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/spinner"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
-    android:layout_marginLeft="@dimen/editor_field_left_padding"
-    android:textAppearance="?android:attr/textAppearanceLarge"
-    android:paddingLeft="5dip"
-    android:paddingTop="5dip"/>
\ No newline at end of file
+    android:background="?android:attr/selectableItemBackground"
+    android:paddingLeft="@dimen/contact_browser_list_left_margin"
+    android:singleLine="true"
+    android:text="@string/profile_display_name"
+    android:ellipsize="end"
+    android:gravity="left|center_vertical"
+    android:textAppearance="?android:attr/textAppearanceMedium" />
diff --git a/res/layout/user_profile_header.xml b/res/layout/user_profile_header.xml
new file mode 100644
index 0000000..ae803ba
--- /dev/null
+++ b/res/layout/user_profile_header.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:background="@color/contact_browser_list_bk_color"
+    android:orientation="vertical"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content" >
+
+    <LinearLayout
+        android:orientation="horizontal"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content" >
+
+        <TextView
+            android:id="@+id/profile_title"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="@dimen/contact_browser_list_left_margin"
+            android:singleLine="true"
+            android:text="@string/user_profile_contacts_list_header"
+            android:textStyle="bold"
+            android:ellipsize="end"
+            android:gravity="left"
+            android:layout_weight="1"
+            android:textAppearance="?android:attr/textAppearanceMedium"
+            android:textColor="@color/people_app_theme_color" />
+
+        <TextView
+            android:id="@+id/contacts_count"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:singleLine="true"
+            android:ellipsize="end"
+            android:layout_gravity="right"
+            android:textAppearance="?android:attr/textAppearanceMedium"
+            android:textColor="@color/contact_count_text_color" />
+    </LinearLayout>
+
+    <View
+        android:background="@color/people_app_theme_color"
+        android:layout_marginLeft="@dimen/contact_browser_list_left_margin"
+        android:layout_width="match_parent"
+        android:layout_height="1px" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/menu-sw580dp-w720dp/actions.xml b/res/menu-sw580dp-w720dp/actions.xml
index 4f0da2c..0b8303a 100644
--- a/res/menu-sw580dp-w720dp/actions.xml
+++ b/res/menu-sw580dp-w720dp/actions.xml
@@ -16,7 +16,7 @@
 <menu xmlns:android="http://schemas.android.com/apk/res/android">
     <item
         android:id="@+id/menu_search"
-        android:icon="@android:drawable/ic_menu_search"
+        android:icon="@drawable/ic_ab_search_holo_dark"
         android:title="@string/menu_search"
         android:showAsAction="always" />
 
diff --git a/res/menu-sw580dp/actions.xml b/res/menu-sw580dp/actions.xml
index b6cdfbf..8732927 100644
--- a/res/menu-sw580dp/actions.xml
+++ b/res/menu-sw580dp/actions.xml
@@ -16,7 +16,7 @@
 <menu xmlns:android="http://schemas.android.com/apk/res/android">
     <item
         android:id="@+id/menu_search"
-        android:icon="@android:drawable/ic_menu_search"
+        android:icon="@drawable/ic_ab_search_holo_dark"
         android:title="@string/menu_search"
         android:showAsAction="ifRoom" />
 
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 577e933..a378d95 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -220,6 +220,10 @@
     <skip />
     <!-- no translation found for recentCalls_deleteAll (6352364392762163704) -->
     <skip />
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <!-- no translation found for recentCalls_empty (247053222448663107) -->
     <skip />
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Vee oproeprekord uit"</string>
@@ -272,7 +276,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Bel weer"</string>
     <string name="returnCall" msgid="8171961914203617813">"Bel terug"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sek."</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Gereeld gekontak"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Voeg kontak by"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Voeg \"<xliff:g id="EMAIL">%s</xliff:g>\" by kontakte?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"een"</string>
@@ -623,8 +630,6 @@
     <skip />
     <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
     <skip />
-    <!-- no translation found for call_log_type_date_separator (8009466658324061546) -->
-    <skip />
     <!-- no translation found for call_log_new_header (846546437517724715) -->
     <skip />
     <!-- no translation found for call_log_old_header (6262205894314263629) -->
@@ -651,7 +656,7 @@
     <skip />
     <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
     <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
     <!-- no translation found for group_name_hint (2659811836386413509) -->
     <skip />
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index f9e98ec..1d9f47a 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -220,6 +220,10 @@
     <skip />
     <!-- no translation found for recentCalls_deleteAll (6352364392762163704) -->
     <skip />
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <!-- no translation found for recentCalls_empty (247053222448663107) -->
     <skip />
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"የጥሪ ማስታወሻ አጥራ"</string>
@@ -272,7 +276,10 @@
     <string name="callAgain" msgid="3197312117049874778">"እንደገና ደውል"</string>
     <string name="returnCall" msgid="8171961914203617813">"ጥሪ መልስ"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g>ደቂቃዎች <xliff:g id="SECONDS">%s</xliff:g> ሰከንዶች"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"በተደጋጋሚ የሚገናኙ"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"እውቅያዎች አክል"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"<xliff:g id="EMAIL">%s</xliff:g> ወደ እውቅያዎች ዝርዝር ይታከል"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"አንድ"</string>
@@ -623,8 +630,6 @@
     <skip />
     <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
     <skip />
-    <!-- no translation found for call_log_type_date_separator (8009466658324061546) -->
-    <skip />
     <!-- no translation found for call_log_new_header (846546437517724715) -->
     <skip />
     <!-- no translation found for call_log_old_header (6262205894314263629) -->
@@ -651,7 +656,7 @@
     <skip />
     <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
     <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
     <!-- no translation found for group_name_hint (2659811836386413509) -->
     <skip />
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 3c690ec..68b1a5a 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"إضافة إلى جهات الاتصال"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"إزالة من سجل المكالمات"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"محو سجل المكالمات"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"سجل المكالمات فارغ."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"محو سجل المكالمات"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"هل أنت متأكد من أنك تريد محو سجل المكالمات؟"</string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"الاتصال مرة أخرى"</string>
     <string name="returnCall" msgid="8171961914203617813">"معاودة اتصال بمكالمة فائتة"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"عدد الدقائق:<xliff:g id="MINUTES">%s</xliff:g>، عددالثواني: <xliff:g id="SECONDS">%s</xliff:g>"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"يتم الاتصال بها بشكل متكرر"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"إضافة جهة اتصال"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"هل ترغب في إضافة \"<xliff:g id="EMAIL">%s</xliff:g>\" إلى جهات الاتصال؟"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"واحد"</string>
@@ -541,8 +548,6 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"تعذر تشغيل البريد الصوتي"</string>
-    <!-- no translation found for call_log_type_date_separator (8009466658324061546) -->
-    <skip />
     <string name="call_log_new_header" msgid="846546437517724715">"جديد"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"أقدم"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"لا يمكن الاتصال بخادم البريد الصوتي."</string>
@@ -556,7 +561,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"سرعة عادية"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"سرعة عالية"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"أعلى سرعة"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"اسم المجموعة"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"استلام ج اتص.NFC"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"إظهار رسائل البريد الصوتي فقط"</string>
diff --git a/res/values-bg-w470dp/strings.xml b/res/values-bg-w470dp/strings.xml
new file mode 100644
index 0000000..2d9ed23
--- /dev/null
+++ b/res/values-bg-w470dp/strings.xml
@@ -0,0 +1,20 @@
+<?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="recent_updates" msgid="7673783546044751339">"Актуализации"</string>
+</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 98ca370..b39963a 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -76,8 +76,7 @@
     <string name="deleteConfirmation" msgid="811706994761610640">"Този контакт ще бъде изтрит."</string>
     <string name="menu_done" msgid="796017761764190697">"Готово"</string>
     <string name="menu_doNotSave" msgid="58593876893538465">"Отказ"</string>
-    <!-- no translation found for menu_discard (6456087569315685632) -->
-    <skip />
+    <string name="menu_discard" msgid="6456087569315685632">"Отхвърляне"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"Редактиране на контакт"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"Нов контакт"</string>
     <string name="label_phonetic_name" msgid="2288082649573927286">"Както се произнася"</string>
@@ -164,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Добавяне към контакти"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Премахване от списък с обаждания"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Изчистване на списъка с обажданията"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Списъкът на обажданията е празен."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Изчистване на списъка с обажданията"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Наистина ли искате да изчистите списъка на обажданията?"</string>
@@ -206,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Повторно обаждане"</string>
     <string name="returnCall" msgid="8171961914203617813">"Отговаряне на обаждане"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> мин <xliff:g id="SECONDS">%s</xliff:g> сек"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Често търсени"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Добавяне на контакт"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Да се добави ли „<xliff:g id="EMAIL">%s</xliff:g>“ към контакти?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"едно"</string>
@@ -411,7 +417,7 @@
     <string name="name_family" msgid="3416695586119999058">"Фамилия"</string>
     <string name="name_prefix" msgid="59756378548779822">"Обръщение"</string>
     <string name="name_middle" msgid="8467433655992690326">"Презиме"</string>
-    <string name="name_suffix" msgid="3855278445375651441">"Титла"</string>
+    <string name="name_suffix" msgid="3855278445375651441">"Обръщение"</string>
     <string name="name_phonetic_given" msgid="6853570431394449191">"Собствено име, както се произнася"</string>
     <string name="name_phonetic_middle" msgid="8643721493320405200">"Презиме, както се произнася"</string>
     <string name="name_phonetic_family" msgid="462095502140180305">"Фамилия, както се произнася"</string>
@@ -424,10 +430,7 @@
     <!-- no translation found for from_account_format (4469138575127580203) -->
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Използване на тази снимка"</string>
-    <!-- unknown placeholder SOURCE in contact_read_only -->
-    <skip />
-    <!-- no translation found for contact_read_only (1969214537163492087) -->
-    <skip />
+    <string name="contact_read_only" msgid="1969214537163492087">"Не може да се редактира на това у-во"</string>
     <string name="no_contact_details" msgid="6754415338321837001">"Няма допълнителна информация за този контакт"</string>
     <!-- no translation found for group_read_only (7924922658394449477) -->
     <skip />
@@ -459,8 +462,7 @@
   </plurals>
     <string name="no_contacts_selected" msgid="5877803471037324613">"Няма избрани контакти."</string>
     <string name="add_field" msgid="2384260056674995230">"Добавяне на друго поле"</string>
-    <!-- no translation found for add_new_entry_for_section (5223080690667565044) -->
-    <skip />
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Добавяне на нов"</string>
     <string name="contact_status_update_attribution" msgid="752179367353018597">"чрез <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
     <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> чрез <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"любимо"</string>
@@ -490,7 +492,7 @@
     <string name="custom_list_filter" msgid="7836035257402013957">"Определяне на персонализиран изглед"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Настройки"</string>
     <string name="activity_title_contacts_filter" msgid="8275542497615516969">"Контакти за показване"</string>
-    <!-- outdated translation 377929915873428211 -->     <string name="menu_settings" msgid="1515262535785451190">"Настройки"</string>
+    <string name="menu_settings" msgid="1515262535785451190">"Опции за показване"</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="hint_findContacts" msgid="1808681193458772072">"Намиране на контакти"</string>
@@ -513,10 +515,14 @@
     <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> групи"</item>
   </plurals>
     <string name="delete_group_dialog_message" msgid="295063284548750881">"Наистина ли искате да изтриете групата „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>“? (Самите контакти няма да бъдат изтрити.)"</string>
-    <!-- no translation found for num_contacts_in_group:one (1352418549951013448) -->
-    <!-- no translation found for num_contacts_in_group:other (8146027769011086349) -->
-    <!-- no translation found for group_list_num_contacts_in_group:one (3323065321661972446) -->
-    <!-- no translation found for group_list_num_contacts_in_group:other (6251996206137048525) -->
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> човек от <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> души от <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> човек"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> души"</item>
+  </plurals>
     <string name="toast_join_with_empty_contact" msgid="5015189525953438968">"Моля, въведете името на контакта преди сливането му с друг."</string>
     <string name="indicator_joined_contact" msgid="3321049349627022128">"Слят контакт"</string>
     <!-- no translation found for copy_text (3257145021583508761) -->
@@ -534,70 +540,42 @@
     <string name="enter_contact_name" msgid="2930510479516059437">"Въведете името на контакта"</string>
     <string name="editGroup_title_insert" msgid="7803743109105317959">"Нова група"</string>
     <string name="editGroup_title_edit" msgid="2173278908256913247">"Редактиране на групата"</string>
-    <!-- no translation found for view_updates_from_group (1782685984905600034) -->
-    <skip />
+    <string name="view_updates_from_group" msgid="1782685984905600034">"Актуализации"</string>
     <!-- no translation found for notification_voicemail_title:one (1746619685488504230) -->
     <!-- no translation found for notification_voicemail_title:other (5513481419205061254) -->
     <!-- no translation found for notification_voicemail_callers_list (1153954809339404149) -->
     <skip />
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
-    <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
-    <skip />
-    <!-- no translation found for call_log_type_date_separator (8009466658324061546) -->
-    <skip />
+    <string name="voicemail_playback_error" msgid="5128928338910411763">"Гласовата поща не можа да бъде възпроизведена"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Нови"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"По-стари"</string>
-    <!-- no translation found for voicemail_status_voicemail_not_available (3164200979671881947) -->
+    <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Не може да се осъществи връзка със сървъра за гласова поща."</string>
+    <string name="voicemail_status_messages_waiting" msgid="2970301042310727909">"Няма връзка със сървъра за гл. поща. Изчакват се нови съобщения."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3940240432123700974">"Конфигурирайте гласовата си поща."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Няма звук."</string>
+    <string name="voicemail_status_action_configure" msgid="7008713959076506385">"Конфигурирайте"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Обаждане на гл. поща"</string>
+    <string name="voicemail_speed_slowest" msgid="6047030504814773029">"най-бавна скорост"</string>
+    <string name="voicemail_speed_slower" msgid="7890393922358642543">"бавна скорост"</string>
+    <string name="voicemail_speed_normal" msgid="6030110237820243006">"нормална скорост"</string>
+    <string name="voicemail_speed_faster" msgid="4161478290979905481">"бърза скорост"</string>
+    <string name="voicemail_speed_fastest" msgid="3373646875150544205">"най-бърза скорост"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
-    <!-- no translation found for voicemail_status_messages_waiting (2970301042310727909) -->
-    <skip />
-    <!-- no translation found for voicemail_status_configure_voicemail (3940240432123700974) -->
-    <skip />
-    <!-- no translation found for voicemail_status_audio_not_available (3369618334553341626) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_configure (7008713959076506385) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_call_server (1824816252288551794) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slowest (6047030504814773029) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slower (7890393922358642543) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_normal (6030110237820243006) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_faster (4161478290979905481) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
-    <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
-    <skip />
-    <!-- no translation found for group_name_hint (2659811836386413509) -->
-    <skip />
-    <!-- no translation found for nfc_vcard_file_name (2823095213265993609) -->
-    <skip />
-    <!-- no translation found for menu_show_voicemails_only (1898421289561435703) -->
-    <skip />
-    <!-- no translation found for status_available (5586870015822828392) -->
-    <skip />
-    <!-- no translation found for status_away (1838861100379804730) -->
-    <skip />
-    <!-- no translation found for status_busy (9147992455450257136) -->
-    <skip />
-    <!-- no translation found for description_call_log_call_button (8207201401459528442) -->
-    <skip />
-    <!-- no translation found for description_call_log_play_button (651182125650429846) -->
-    <skip />
-    <!-- no translation found for description_call_log_incoming_call (4485427487637250143) -->
-    <skip />
-    <!-- no translation found for description_call_log_outgoing_call (604831756853471658) -->
-    <skip />
-    <!-- no translation found for description_call_log_missed_call (2242805209983708825) -->
-    <skip />
-    <!-- no translation found for description_call_log_voicemail (4600798771975158948) -->
-    <skip />
-    <!-- no translation found for description_call_log_unheard_voicemail (118101684236996786) -->
-    <skip />
+    <string name="group_name_hint" msgid="2659811836386413509">"Име на групата"</string>
+    <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Контакт: Получ. чрез NFC"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Показване само на гл. поща"</string>
+    <string name="status_available" msgid="5586870015822828392">"Налице"</string>
+    <string name="status_away" msgid="1838861100379804730">"Отсъства"</string>
+    <string name="status_busy" msgid="9147992455450257136">"Зает/а"</string>
+    <string name="description_call_log_call_button" msgid="8207201401459528442">"Позвънете на номер"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Възпроизвеждане на гласовата поща"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Входящо обаждане"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Изходящо обаждане"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Пропуснато обаждане"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Гласова поща"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Непрослушана гласова поща"</string>
     <!-- no translation found for call_log_empty_gecode (5588904744812100846) -->
     <skip />
 </resources>
diff --git a/res/values-ca-w470dp/strings.xml b/res/values-ca-w470dp/strings.xml
new file mode 100644
index 0000000..2ee3a18
--- /dev/null
+++ b/res/values-ca-w470dp/strings.xml
@@ -0,0 +1,20 @@
+<?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="recent_updates" msgid="7673783546044751339">"Actualitzacions"</string>
+</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 6bd1768..67fcf5a 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -76,8 +76,7 @@
     <string name="deleteConfirmation" msgid="811706994761610640">"Aquest contacte se suprimirà."</string>
     <string name="menu_done" msgid="796017761764190697">"Fet"</string>
     <string name="menu_doNotSave" msgid="58593876893538465">"Cancel·la"</string>
-    <!-- no translation found for menu_discard (6456087569315685632) -->
-    <skip />
+    <string name="menu_discard" msgid="6456087569315685632">"Descarta"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"Edita el contacte"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"Contacte nou"</string>
     <string name="label_phonetic_name" msgid="2288082649573927286">"Fonètic"</string>
@@ -164,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Afegeix als contactes"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Elimina del registre de trucades"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Esborra el registre de trucades"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"El registre de trucades és buit."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Esborrament del registre de trucades"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Esteu segur que voleu esborrar el registre de trucades?"</string>
@@ -206,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Torna a trucar"</string>
     <string name="returnCall" msgid="8171961914203617813">"Retorna la trucada"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Contactats sovint"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Addició d\'un contacte"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Voleu afegir \"<xliff:g id="EMAIL">%s</xliff:g>\" als contactes?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"un"</string>
@@ -424,10 +430,7 @@
     <!-- no translation found for from_account_format (4469138575127580203) -->
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Utilitza aquesta foto"</string>
-    <!-- unknown placeholder SOURCE in contact_read_only -->
-    <skip />
-    <!-- no translation found for contact_read_only (1969214537163492087) -->
-    <skip />
+    <string name="contact_read_only" msgid="1969214537163492087">"No es pot editar en aquest dispositiu"</string>
     <string name="no_contact_details" msgid="6754415338321837001">"No hi ha informació addicional per a aquest contacte"</string>
     <!-- no translation found for group_read_only (7924922658394449477) -->
     <skip />
@@ -459,8 +462,7 @@
   </plurals>
     <string name="no_contacts_selected" msgid="5877803471037324613">"No s\'ha seleccionat cap contacte."</string>
     <string name="add_field" msgid="2384260056674995230">"Afegeix un altre camp"</string>
-    <!-- no translation found for add_new_entry_for_section (5223080690667565044) -->
-    <skip />
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Afegeix-ne una"</string>
     <string name="contact_status_update_attribution" msgid="752179367353018597">"mitjançant <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
     <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> mitjançant <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"preferit"</string>
@@ -490,7 +492,7 @@
     <string name="custom_list_filter" msgid="7836035257402013957">"Defineix la visualització personalitzada"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Configuració"</string>
     <string name="activity_title_contacts_filter" msgid="8275542497615516969">"Contactes per mostrar"</string>
-    <!-- outdated translation 377929915873428211 -->     <string name="menu_settings" msgid="1515262535785451190">"Configuració"</string>
+    <string name="menu_settings" msgid="1515262535785451190">"Opcions de visualització"</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="hint_findContacts" msgid="1808681193458772072">"Cerca contactes"</string>
@@ -513,10 +515,14 @@
     <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grups"</item>
   </plurals>
     <string name="delete_group_dialog_message" msgid="295063284548750881">"Estàs segur que vols suprimir el grup \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Els contactes en si no se suprimiran.)"</string>
-    <!-- no translation found for num_contacts_in_group:one (1352418549951013448) -->
-    <!-- no translation found for num_contacts_in_group:other (8146027769011086349) -->
-    <!-- no translation found for group_list_num_contacts_in_group:one (3323065321661972446) -->
-    <!-- no translation found for group_list_num_contacts_in_group:other (6251996206137048525) -->
+  <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> usuaris"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> persones"</item>
+  </plurals>
     <string name="toast_join_with_empty_contact" msgid="5015189525953438968">"Introdueix el nom del contacte abans d\'unir-lo a un altre contacte."</string>
     <string name="indicator_joined_contact" msgid="3321049349627022128">"S\'ha unit el contacte"</string>
     <!-- no translation found for copy_text (3257145021583508761) -->
@@ -534,69 +540,42 @@
     <string name="enter_contact_name" msgid="2930510479516059437">"Introdueix el nom del contacte"</string>
     <string name="editGroup_title_insert" msgid="7803743109105317959">"Grup nou"</string>
     <string name="editGroup_title_edit" msgid="2173278908256913247">"Edició del grup"</string>
-    <!-- no translation found for view_updates_from_group (1782685984905600034) -->
-    <skip />
+    <string name="view_updates_from_group" msgid="1782685984905600034">"Mostra actualitzac."</string>
     <!-- no translation found for notification_voicemail_title:one (1746619685488504230) -->
     <!-- no translation found for notification_voicemail_title:other (5513481419205061254) -->
     <!-- no translation found for notification_voicemail_callers_list (1153954809339404149) -->
     <skip />
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
-    <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
-    <skip />
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
+    <string name="voicemail_playback_error" msgid="5128928338910411763">"No es pot reproduir el missatge de veu"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Nous"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Anteriors"</string>
-    <!-- no translation found for voicemail_status_voicemail_not_available (3164200979671881947) -->
+    <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"No es pot connectar al servidor de la bústia de veu."</string>
+    <string name="voicemail_status_messages_waiting" msgid="2970301042310727909">"No es pot connec. al servidor bústia de veu. Hi ha nous missatg."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3940240432123700974">"Configura la bústia de veu."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"L\'àudio no està disponible."</string>
+    <string name="voicemail_status_action_configure" msgid="7008713959076506385">"Configura"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Truca bústia de veu"</string>
+    <string name="voicemail_speed_slowest" msgid="6047030504814773029">"velocitat mínima"</string>
+    <string name="voicemail_speed_slower" msgid="7890393922358642543">"velocitat baixa"</string>
+    <string name="voicemail_speed_normal" msgid="6030110237820243006">"velocitat normal"</string>
+    <string name="voicemail_speed_faster" msgid="4161478290979905481">"velocitat alta"</string>
+    <string name="voicemail_speed_fastest" msgid="3373646875150544205">"velocitat màxima"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
-    <!-- no translation found for voicemail_status_messages_waiting (2970301042310727909) -->
-    <skip />
-    <!-- no translation found for voicemail_status_configure_voicemail (3940240432123700974) -->
-    <skip />
-    <!-- no translation found for voicemail_status_audio_not_available (3369618334553341626) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_configure (7008713959076506385) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_call_server (1824816252288551794) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slowest (6047030504814773029) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slower (7890393922358642543) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_normal (6030110237820243006) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_faster (4161478290979905481) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
-    <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
-    <skip />
-    <!-- no translation found for group_name_hint (2659811836386413509) -->
-    <skip />
-    <!-- no translation found for nfc_vcard_file_name (2823095213265993609) -->
-    <skip />
-    <!-- no translation found for menu_show_voicemails_only (1898421289561435703) -->
-    <skip />
-    <!-- no translation found for status_available (5586870015822828392) -->
-    <skip />
-    <!-- no translation found for status_away (1838861100379804730) -->
-    <skip />
-    <!-- no translation found for status_busy (9147992455450257136) -->
-    <skip />
-    <!-- no translation found for description_call_log_call_button (8207201401459528442) -->
-    <skip />
-    <!-- no translation found for description_call_log_play_button (651182125650429846) -->
-    <skip />
-    <!-- no translation found for description_call_log_incoming_call (4485427487637250143) -->
-    <skip />
-    <!-- no translation found for description_call_log_outgoing_call (604831756853471658) -->
-    <skip />
-    <!-- no translation found for description_call_log_missed_call (2242805209983708825) -->
-    <skip />
-    <!-- no translation found for description_call_log_voicemail (4600798771975158948) -->
-    <skip />
-    <!-- no translation found for description_call_log_unheard_voicemail (118101684236996786) -->
-    <skip />
+    <string name="group_name_hint" msgid="2659811836386413509">"Nom del grup"</string>
+    <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Contac. reb. NFC"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Mostra només els missatges de veu"</string>
+    <string name="status_available" msgid="5586870015822828392">"Disponible"</string>
+    <string name="status_away" msgid="1838861100379804730">"Absent"</string>
+    <string name="status_busy" msgid="9147992455450257136">"Ocupat"</string>
+    <string name="description_call_log_call_button" msgid="8207201401459528442">"Truca al número"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Reprodueix el missatge de veu"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Trucada entrant"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Trucada de sortida"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Trucada perduda"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Missatge de veu"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Missatge de veu no escoltat"</string>
     <!-- no translation found for call_log_empty_gecode (5588904744812100846) -->
     <skip />
 </resources>
diff --git a/res/values-cs-w470dp/strings.xml b/res/values-cs-w470dp/strings.xml
new file mode 100644
index 0000000..da1eddd
--- /dev/null
+++ b/res/values-cs-w470dp/strings.xml
@@ -0,0 +1,20 @@
+<?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="recent_updates" msgid="7673783546044751339">"Aktualizace"</string>
+</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index a949e4c..f9543a2 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -76,8 +76,7 @@
     <string name="deleteConfirmation" msgid="811706994761610640">"Tento kontakt bude smazán."</string>
     <string name="menu_done" msgid="796017761764190697">"Hotovo"</string>
     <string name="menu_doNotSave" msgid="58593876893538465">"Zrušit"</string>
-    <!-- no translation found for menu_discard (6456087569315685632) -->
-    <skip />
+    <string name="menu_discard" msgid="6456087569315685632">"Zrušit"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"Upravit kontakt"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"Nový kontakt"</string>
     <string name="label_phonetic_name" msgid="2288082649573927286">"Foneticky"</string>
@@ -164,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Přidat do kontaktů"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Odstranit z hovorů"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Vymazat hovory"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Záznam hovorů je prázdný."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Vymazat hovory"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Opravdu chcete vymazat hovory?"</string>
@@ -206,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Zavolat znovu"</string>
     <string name="returnCall" msgid="8171961914203617813">"Zpětné volání"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Nejčastěji používané kontakty"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Přidat kontakt"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Chcete přidat „<xliff:g id="EMAIL">%s</xliff:g>“ do kontaktů?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"jedna"</string>
@@ -424,10 +430,7 @@
     <!-- no translation found for from_account_format (4469138575127580203) -->
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Použít tuto fotografii"</string>
-    <!-- unknown placeholder SOURCE in contact_read_only -->
-    <skip />
-    <!-- no translation found for contact_read_only (1969214537163492087) -->
-    <skip />
+    <string name="contact_read_only" msgid="1969214537163492087">"Není možné upravit v tomto zařízení"</string>
     <string name="no_contact_details" msgid="6754415338321837001">"U tohoto kontaktu nejsou uvedeny dodatečné informace"</string>
     <!-- no translation found for group_read_only (7924922658394449477) -->
     <skip />
@@ -459,8 +462,7 @@
   </plurals>
     <string name="no_contacts_selected" msgid="5877803471037324613">"Nevybrali jste žádné kontakty."</string>
     <string name="add_field" msgid="2384260056674995230">"Přidat další pole"</string>
-    <!-- no translation found for add_new_entry_for_section (5223080690667565044) -->
-    <skip />
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Přidat nové"</string>
     <string name="contact_status_update_attribution" msgid="752179367353018597">"pomocí služby <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
     <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> prostřednictvím služby <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"oblíbené"</string>
@@ -490,7 +492,7 @@
     <string name="custom_list_filter" msgid="7836035257402013957">"Definice vlastního zobrazení"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Nastavení"</string>
     <string name="activity_title_contacts_filter" msgid="8275542497615516969">"Kontakty k zobrazení"</string>
-    <!-- outdated translation 377929915873428211 -->     <string name="menu_settings" msgid="1515262535785451190">"Nastavení"</string>
+    <string name="menu_settings" msgid="1515262535785451190">"Zobrazit možnosti"</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="hint_findContacts" msgid="1808681193458772072">"Najít kontakty"</string>
@@ -513,10 +515,14 @@
     <item quantity="other" msgid="1276758425904917367">"Skupiny: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
   </plurals>
     <string name="delete_group_dialog_message" msgid="295063284548750881">"Opravdu chcete smazat skupinu <xliff:g id="GROUP_LABEL">%1$s</xliff:g>? (Samotné kontakty smazány nebudou.)"</string>
-    <!-- no translation found for num_contacts_in_group:one (1352418549951013448) -->
-    <!-- no translation found for num_contacts_in_group:other (8146027769011086349) -->
-    <!-- no translation found for group_list_num_contacts_in_group:one (3323065321661972446) -->
-    <!-- no translation found for group_list_num_contacts_in_group:other (6251996206137048525) -->
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> uživatel ze skupiny <xliff:g id="ACCOUNT_TYPE">%2$s</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> osoba"</item>
+    <item quantity="other" msgid="6251996206137048525">"Počet lidí: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
+  </plurals>
     <string name="toast_join_with_empty_contact" msgid="5015189525953438968">"Před spojením s jiným kontaktem je třeba zadat jméno kontaktu."</string>
     <string name="indicator_joined_contact" msgid="3321049349627022128">"Připojený kontakt"</string>
     <!-- no translation found for copy_text (3257145021583508761) -->
@@ -534,69 +540,42 @@
     <string name="enter_contact_name" msgid="2930510479516059437">"Zadejte jméno kontaktu"</string>
     <string name="editGroup_title_insert" msgid="7803743109105317959">"Nová skupina"</string>
     <string name="editGroup_title_edit" msgid="2173278908256913247">"Upravit skupinu"</string>
-    <!-- no translation found for view_updates_from_group (1782685984905600034) -->
-    <skip />
+    <string name="view_updates_from_group" msgid="1782685984905600034">"Zobrazit aktualizace"</string>
     <!-- no translation found for notification_voicemail_title:one (1746619685488504230) -->
     <!-- no translation found for notification_voicemail_title:other (5513481419205061254) -->
     <!-- no translation found for notification_voicemail_callers_list (1153954809339404149) -->
     <skip />
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
-    <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
-    <skip />
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
+    <string name="voicemail_playback_error" msgid="5128928338910411763">"Nelze přehrávat hlasové zprávy"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Nové"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Starší"</string>
-    <!-- no translation found for voicemail_status_voicemail_not_available (3164200979671881947) -->
+    <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Nelze se připojit k serveru hlasové schránky."</string>
+    <string name="voicemail_status_messages_waiting" msgid="2970301042310727909">"Nové zprávy v hlasové schránce. K serveru se nelze připojit."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3940240432123700974">"Nakonfigurujte si hlasovou schránku."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Zvuk není k dispozici."</string>
+    <string name="voicemail_status_action_configure" msgid="7008713959076506385">"Konfigurovat"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Volat do hlas. schránky"</string>
+    <string name="voicemail_speed_slowest" msgid="6047030504814773029">"nejnižší rychlost"</string>
+    <string name="voicemail_speed_slower" msgid="7890393922358642543">"nízká rychlost"</string>
+    <string name="voicemail_speed_normal" msgid="6030110237820243006">"normální rychlost"</string>
+    <string name="voicemail_speed_faster" msgid="4161478290979905481">"vysoká rychlost"</string>
+    <string name="voicemail_speed_fastest" msgid="3373646875150544205">"nejvyšší rychlost"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
-    <!-- no translation found for voicemail_status_messages_waiting (2970301042310727909) -->
-    <skip />
-    <!-- no translation found for voicemail_status_configure_voicemail (3940240432123700974) -->
-    <skip />
-    <!-- no translation found for voicemail_status_audio_not_available (3369618334553341626) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_configure (7008713959076506385) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_call_server (1824816252288551794) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slowest (6047030504814773029) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slower (7890393922358642543) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_normal (6030110237820243006) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_faster (4161478290979905481) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
-    <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
-    <skip />
-    <!-- no translation found for group_name_hint (2659811836386413509) -->
-    <skip />
-    <!-- no translation found for nfc_vcard_file_name (2823095213265993609) -->
-    <skip />
-    <!-- no translation found for menu_show_voicemails_only (1898421289561435703) -->
-    <skip />
-    <!-- no translation found for status_available (5586870015822828392) -->
-    <skip />
-    <!-- no translation found for status_away (1838861100379804730) -->
-    <skip />
-    <!-- no translation found for status_busy (9147992455450257136) -->
-    <skip />
-    <!-- no translation found for description_call_log_call_button (8207201401459528442) -->
-    <skip />
-    <!-- no translation found for description_call_log_play_button (651182125650429846) -->
-    <skip />
-    <!-- no translation found for description_call_log_incoming_call (4485427487637250143) -->
-    <skip />
-    <!-- no translation found for description_call_log_outgoing_call (604831756853471658) -->
-    <skip />
-    <!-- no translation found for description_call_log_missed_call (2242805209983708825) -->
-    <skip />
-    <!-- no translation found for description_call_log_voicemail (4600798771975158948) -->
-    <skip />
-    <!-- no translation found for description_call_log_unheard_voicemail (118101684236996786) -->
-    <skip />
+    <string name="group_name_hint" msgid="2659811836386413509">"Název skupiny"</string>
+    <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Kontakt přijatý přes NCF"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Zobrazit pouze hlas. schránku"</string>
+    <string name="status_available" msgid="5586870015822828392">"K dispozici"</string>
+    <string name="status_away" msgid="1838861100379804730">"Nepřítomen"</string>
+    <string name="status_busy" msgid="9147992455450257136">"Zaneprázdněn"</string>
+    <string name="description_call_log_call_button" msgid="8207201401459528442">"Volat číslo"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Přehrát hlasovou zprávu"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Příchozí hovor"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Odchozí hovor"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Zmeškané volání"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Hlasová schránka"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nevyslechnutá hlasová zpráva"</string>
     <!-- no translation found for call_log_empty_gecode (5588904744812100846) -->
     <skip />
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index c7bba00..f81febf 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Føj til kontakter"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Fjern fra opkaldsliste"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Ryd opkaldsliste"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Opkaldslisten er tom."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Ryd opkaldsliste"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Er du sikker på, at du vil rydde opkaldslisten?"</string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Ring op igen"</string>
     <string name="returnCall" msgid="8171961914203617813">"Ring tilbage"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sek."</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Jævnligt kontaktet"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Tilføj kontakt"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Føj \"<xliff:g id="EMAIL">%s</xliff:g>\" til kontaktpersoner?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"et"</string>
@@ -541,8 +548,6 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"Kunne ikke afspille telefonsvarerbesked"</string>
-    <!-- no translation found for call_log_type_date_separator (8009466658324061546) -->
-    <skip />
     <string name="call_log_new_header" msgid="846546437517724715">"Nye"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Ældre"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Kan ikke oprette forbindelse til telefonsvareren."</string>
@@ -556,7 +561,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"normal hastighed"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"hurtig hastighed"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"hurtigste hastighed"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"Gruppens navn"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Kontakt via NFC"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Vis kun telefonsvarerbeskeder"</string>
diff --git a/res/values-de-w470dp/strings.xml b/res/values-de-w470dp/strings.xml
new file mode 100644
index 0000000..fd29a4b
--- /dev/null
+++ b/res/values-de-w470dp/strings.xml
@@ -0,0 +1,20 @@
+<?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="recent_updates" msgid="7673783546044751339">"Updates"</string>
+</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 5bc6fdc..eaf1452 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -76,8 +76,7 @@
     <string name="deleteConfirmation" msgid="811706994761610640">"Dieser Kontakt wird gelöscht."</string>
     <string name="menu_done" msgid="796017761764190697">"Fertig"</string>
     <string name="menu_doNotSave" msgid="58593876893538465">"Abbrechen"</string>
-    <!-- no translation found for menu_discard (6456087569315685632) -->
-    <skip />
+    <string name="menu_discard" msgid="6456087569315685632">"Verwerfen"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"Kontakt bearbeiten"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"Neuer Kontakt"</string>
     <string name="label_phonetic_name" msgid="2288082649573927286">"Phonetisch"</string>
@@ -164,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Zu Kontakten hinzufügen"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Aus Anrufliste entfernen"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Anrufliste löschen"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Anrufliste ist leer"</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Anrufprotokoll löschen"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Möchten Sie das Anrufprotokoll wirklich löschen?"</string>
@@ -206,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Erneut anrufen"</string>
     <string name="returnCall" msgid="8171961914203617813">"Zurückrufen"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> Minuten, <xliff:g id="SECONDS">%s</xliff:g> Sekunden"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Häufig kontaktiert"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Kontakt hinzufügen"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"\"<xliff:g id="EMAIL">%s</xliff:g>\" zu den Kontakten hinzufügen?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"eins"</string>
@@ -424,10 +430,7 @@
     <!-- no translation found for from_account_format (4469138575127580203) -->
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Dieses Foto verwenden"</string>
-    <!-- unknown placeholder SOURCE in contact_read_only -->
-    <skip />
-    <!-- no translation found for contact_read_only (1969214537163492087) -->
-    <skip />
+    <string name="contact_read_only" msgid="1969214537163492087">"Auf diesem Gerät nicht bearbeitbar"</string>
     <string name="no_contact_details" msgid="6754415338321837001">"Keine Zusatzinformationen zu diesem Kontakt"</string>
     <!-- no translation found for group_read_only (7924922658394449477) -->
     <skip />
@@ -459,8 +462,7 @@
   </plurals>
     <string name="no_contacts_selected" msgid="5877803471037324613">"Kein Kontakt ausgewählt"</string>
     <string name="add_field" msgid="2384260056674995230">"Weiteres Feld hinzufügen"</string>
-    <!-- no translation found for add_new_entry_for_section (5223080690667565044) -->
-    <skip />
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Hinzufügen"</string>
     <string name="contact_status_update_attribution" msgid="752179367353018597">"über <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
     <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> über <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"Favorit"</string>
@@ -490,7 +492,7 @@
     <string name="custom_list_filter" msgid="7836035257402013957">"Benutzerdefinierte Ansicht festlegen"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Einstellungen"</string>
     <string name="activity_title_contacts_filter" msgid="8275542497615516969">"Kontakte zum Anzeigen"</string>
-    <!-- outdated translation 377929915873428211 -->     <string name="menu_settings" msgid="1515262535785451190">"Einstellungen"</string>
+    <string name="menu_settings" msgid="1515262535785451190">"Anzeigeoptionen"</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="hint_findContacts" msgid="1808681193458772072">"Kontakte suchen"</string>
@@ -513,10 +515,14 @@
     <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> Gruppen"</item>
   </plurals>
     <string name="delete_group_dialog_message" msgid="295063284548750881">"Soll die Gruppe \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" wirklich gelöscht werden? Die Kontakte selbst werden nicht gelöscht."</string>
-    <!-- no translation found for num_contacts_in_group:one (1352418549951013448) -->
-    <!-- no translation found for num_contacts_in_group:other (8146027769011086349) -->
-    <!-- no translation found for group_list_num_contacts_in_group:one (3323065321661972446) -->
-    <!-- no translation found for group_list_num_contacts_in_group:other (6251996206137048525) -->
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> Person aus <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>
     <string name="toast_join_with_empty_contact" msgid="5015189525953438968">"Geben Sie bitte einen Namen für den Kontakt ein, bevor Sie ihn mit einem anderen Kontakt zusammenführen."</string>
     <string name="indicator_joined_contact" msgid="3321049349627022128">"Zusammengeführter Kontakt"</string>
     <!-- no translation found for copy_text (3257145021583508761) -->
@@ -534,70 +540,42 @@
     <string name="enter_contact_name" msgid="2930510479516059437">"Namen des Kontakts eingeben"</string>
     <string name="editGroup_title_insert" msgid="7803743109105317959">"Neue Gruppe"</string>
     <string name="editGroup_title_edit" msgid="2173278908256913247">"Gruppe bearbeiten"</string>
-    <!-- no translation found for view_updates_from_group (1782685984905600034) -->
-    <skip />
+    <string name="view_updates_from_group" msgid="1782685984905600034">"Updates anzeigen"</string>
     <!-- no translation found for notification_voicemail_title:one (1746619685488504230) -->
     <!-- no translation found for notification_voicemail_title:other (5513481419205061254) -->
     <!-- no translation found for notification_voicemail_callers_list (1153954809339404149) -->
     <skip />
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
-    <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
-    <skip />
-    <!-- no translation found for call_log_type_date_separator (8009466658324061546) -->
-    <skip />
+    <string name="voicemail_playback_error" msgid="5128928338910411763">"Die Mailbox-Nachricht konnte nicht wiedergegeben werden."</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Neu"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Älter"</string>
-    <!-- no translation found for voicemail_status_voicemail_not_available (3164200979671881947) -->
+    <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Es kann keine Verbindung zum Mailbox-Server hergestellt werden."</string>
+    <string name="voicemail_status_messages_waiting" msgid="2970301042310727909">"Verbindung zu Mailbox-Server nicht möglich. Neue Mailbox-Nachr."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3940240432123700974">"Konfigurieren Sie Ihren Anrufbeantworter."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Audio nicht verfügbar"</string>
+    <string name="voicemail_status_action_configure" msgid="7008713959076506385">"Konfigurieren"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Mailbox anrufen"</string>
+    <string name="voicemail_speed_slowest" msgid="6047030504814773029">"geringste Geschwindigkeit"</string>
+    <string name="voicemail_speed_slower" msgid="7890393922358642543">"geringe Geschwindigkeit"</string>
+    <string name="voicemail_speed_normal" msgid="6030110237820243006">"normale Geschwindigkeit"</string>
+    <string name="voicemail_speed_faster" msgid="4161478290979905481">"hohe Geschwindigkeit"</string>
+    <string name="voicemail_speed_fastest" msgid="3373646875150544205">"höchste Geschwindigkeit"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
-    <!-- no translation found for voicemail_status_messages_waiting (2970301042310727909) -->
-    <skip />
-    <!-- no translation found for voicemail_status_configure_voicemail (3940240432123700974) -->
-    <skip />
-    <!-- no translation found for voicemail_status_audio_not_available (3369618334553341626) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_configure (7008713959076506385) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_call_server (1824816252288551794) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slowest (6047030504814773029) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slower (7890393922358642543) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_normal (6030110237820243006) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_faster (4161478290979905481) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
-    <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
-    <skip />
-    <!-- no translation found for group_name_hint (2659811836386413509) -->
-    <skip />
-    <!-- no translation found for nfc_vcard_file_name (2823095213265993609) -->
-    <skip />
-    <!-- no translation found for menu_show_voicemails_only (1898421289561435703) -->
-    <skip />
-    <!-- no translation found for status_available (5586870015822828392) -->
-    <skip />
-    <!-- no translation found for status_away (1838861100379804730) -->
-    <skip />
-    <!-- no translation found for status_busy (9147992455450257136) -->
-    <skip />
-    <!-- no translation found for description_call_log_call_button (8207201401459528442) -->
-    <skip />
-    <!-- no translation found for description_call_log_play_button (651182125650429846) -->
-    <skip />
-    <!-- no translation found for description_call_log_incoming_call (4485427487637250143) -->
-    <skip />
-    <!-- no translation found for description_call_log_outgoing_call (604831756853471658) -->
-    <skip />
-    <!-- no translation found for description_call_log_missed_call (2242805209983708825) -->
-    <skip />
-    <!-- no translation found for description_call_log_voicemail (4600798771975158948) -->
-    <skip />
-    <!-- no translation found for description_call_log_unheard_voicemail (118101684236996786) -->
-    <skip />
+    <string name="group_name_hint" msgid="2659811836386413509">"Gruppenname"</string>
+    <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Kontakt erhalten per NCF"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Nur Mailbox-Nachr. anzeigen"</string>
+    <string name="status_available" msgid="5586870015822828392">"Verfügbar"</string>
+    <string name="status_away" msgid="1838861100379804730">"Abwesend"</string>
+    <string name="status_busy" msgid="9147992455450257136">"Beschäftigt"</string>
+    <string name="description_call_log_call_button" msgid="8207201401459528442">"Nummer anrufen"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Mailbox abhören"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Eingehender Anruf"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Ausgehender Anruf"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Entgangener Anruf"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Mailbox"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nicht abgehörte Mailbox-Nachricht"</string>
     <!-- no translation found for call_log_empty_gecode (5588904744812100846) -->
     <skip />
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 7c7f619..d9bf8f1 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Προσθήκη στις επαφές"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Κατάργηση από το αρχείο καταγραφής κλήσεων"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Εκκαθάριση αρχείου καταγραφής κλήσεων"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Το αρχείο καταγραφής κλήσεων είναι κενό."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Εκκαθάριση αρχείου καταγραφής κλήσεων"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Είστε βέβαιοι ότι θέλετε να γίνει εκκαθάριση του αρχείου καταγραφής κλήσεων;"</string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Επανάληψη κλήσης"</string>
     <string name="returnCall" msgid="8171961914203617813">"Επιστροφή κλήσης"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> λεπτά <xliff:g id="SECONDS">%s</xliff:g> δευτερόλεπτα"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Επαφές με τις οποίες έχετε συχνή επικοινωνία"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Προσθήκη επαφής"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Προσθήκη του \"<xliff:g id="EMAIL">%s</xliff:g>\" στις επαφές?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"ένα"</string>
@@ -541,7 +548,6 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"Δεν είναι δυνατή η αναπαραγωγή του μηνύματος αυτόματου τηλεφωνητή"</string>
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Νέο"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Παλαιότερα"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Δεν είναι δυνατή η σύνδεση με το διακομιστή αυτόματου τηλεφωνητή"</string>
@@ -555,7 +561,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"κανονική ταχύτητα"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"μεγάλη ταχύτητα"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"μέγιστη ταχύτητα"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"Όνομα ομάδας"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Λήψ.επ.μέσω ΕΚΠ"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Εμφ.μόνο μην.αυτόμ.τηλεφων."</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index c0452c4..3f05cb2 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Add to contacts"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Remove from call log"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Clear call log"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Call log is empty."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Clear call log"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Are you sure that you want to clear the call log?"</string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Call again"</string>
     <string name="returnCall" msgid="8171961914203617813">"Return call"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> mins <xliff:g id="SECONDS">%s</xliff:g> secs"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Frequently contacted"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Add contact"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Add \"<xliff:g id="EMAIL">%s</xliff:g>\" to contacts?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"one"</string>
@@ -541,7 +548,6 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"Could not play voicemail"</string>
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"New"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Older"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Cannot connect to voicemail server."</string>
@@ -555,7 +561,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"normal speed"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"fast speed"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"fastest speed"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"Group\'s Name"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Contact received over NFC"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Show voicemails only"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 61c39cd..89a9378 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Agregar a contactos"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Eliminar del registro de llamadas"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Borrar registro de llamadas"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"El registro de llamadas está vacío."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Borrar registro de llamadas"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"¿Estás seguro de que deseas borrar el registro de llamadas?"</string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Llamar nuevamente"</string>
     <string name="returnCall" msgid="8171961914203617813">"Regresar llamada"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> seg."</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Contactado con frecuencia"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Agregar contacto"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"¿Deseas agregar \"<xliff:g id="EMAIL">%s</xliff:g>\" a los contactos?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"uno"</string>
@@ -541,7 +548,6 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"No se ha podido reproducir el buzón de voz."</string>
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Nuevo"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Más antigua"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"No se puede conectar al servidor de buzón de voz."</string>
@@ -555,7 +561,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"velocidad normal"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"alta velocidad"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"velocidad más rápida"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"Nombre del grupo"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Contac recib NFC"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Mostrar solo buzones de voz"</string>
diff --git a/res/values-es-w470dp/strings.xml b/res/values-es-w470dp/strings.xml
new file mode 100644
index 0000000..bd60806
--- /dev/null
+++ b/res/values-es-w470dp/strings.xml
@@ -0,0 +1,20 @@
+<?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="recent_updates" msgid="7673783546044751339">"Actualizaciones"</string>
+</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index cc10d1e..839e514 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -76,8 +76,7 @@
     <string name="deleteConfirmation" msgid="811706994761610640">"El contacto se eliminará."</string>
     <string name="menu_done" msgid="796017761764190697">"OK"</string>
     <string name="menu_doNotSave" msgid="58593876893538465">"Cancelar"</string>
-    <!-- no translation found for menu_discard (6456087569315685632) -->
-    <skip />
+    <string name="menu_discard" msgid="6456087569315685632">"Descartar"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"Editar contacto"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"Contacto nuevo"</string>
     <string name="label_phonetic_name" msgid="2288082649573927286">"Pronunciación"</string>
@@ -164,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Añadir a contactos"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Eliminar del registro de llamadas"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Borrar registro de llamadas"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"El registro de llamadas está vacío."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Borrar registro de llamadas"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"¿Estás seguro de que quieres borrar el registro de llamadas?"</string>
@@ -206,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Volver a llamar"</string>
     <string name="returnCall" msgid="8171961914203617813">"Devolver llamada"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min. y <xliff:g id="SECONDS">%s</xliff:g> seg."</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Contactos frecuentes"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Añadir contacto"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"¿Deseas añadir \"<xliff:g id="EMAIL">%s</xliff:g>\" a Contactos?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"uno"</string>
@@ -424,10 +430,7 @@
     <!-- no translation found for from_account_format (4469138575127580203) -->
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Utilizar esta foto"</string>
-    <!-- unknown placeholder SOURCE in contact_read_only -->
-    <skip />
-    <!-- no translation found for contact_read_only (1969214537163492087) -->
-    <skip />
+    <string name="contact_read_only" msgid="1969214537163492087">"No se puede editar en este dispositivo."</string>
     <string name="no_contact_details" msgid="6754415338321837001">"No hay información adicional para este contacto."</string>
     <!-- no translation found for group_read_only (7924922658394449477) -->
     <skip />
@@ -459,8 +462,7 @@
   </plurals>
     <string name="no_contacts_selected" msgid="5877803471037324613">"No hay ningún contacto seleccionado."</string>
     <string name="add_field" msgid="2384260056674995230">"Añadir otro campo"</string>
-    <!-- no translation found for add_new_entry_for_section (5223080690667565044) -->
-    <skip />
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Añadir nuevo"</string>
     <string name="contact_status_update_attribution" msgid="752179367353018597">"con <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
     <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> con <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"favoritos"</string>
@@ -490,7 +492,7 @@
     <string name="custom_list_filter" msgid="7836035257402013957">"Definición de vista personalizada"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Ajustes"</string>
     <string name="activity_title_contacts_filter" msgid="8275542497615516969">"Contactos para mostrar"</string>
-    <!-- outdated translation 377929915873428211 -->     <string name="menu_settings" msgid="1515262535785451190">"Ajustes"</string>
+    <string name="menu_settings" msgid="1515262535785451190">"Opciones de visualización"</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="hint_findContacts" msgid="1808681193458772072">"Buscar contactos"</string>
@@ -513,10 +515,14 @@
     <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grupos"</item>
   </plurals>
     <string name="delete_group_dialog_message" msgid="295063284548750881">"¿Estás seguro de que deseas eliminar el grupo \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Los contactos no se eliminarán)."</string>
-    <!-- no translation found for num_contacts_in_group:one (1352418549951013448) -->
-    <!-- no translation found for num_contacts_in_group:other (8146027769011086349) -->
-    <!-- no translation found for group_list_num_contacts_in_group:one (3323065321661972446) -->
-    <!-- no translation found for group_list_num_contacts_in_group:other (6251996206137048525) -->
+  <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>
     <string name="toast_join_with_empty_contact" msgid="5015189525953438968">"Para agrupar el contacto, debes introducir el nombre del otro contacto."</string>
     <string name="indicator_joined_contact" msgid="3321049349627022128">"Contacto añadido"</string>
     <!-- no translation found for copy_text (3257145021583508761) -->
@@ -534,69 +540,42 @@
     <string name="enter_contact_name" msgid="2930510479516059437">"Escribe el nombre del contacto."</string>
     <string name="editGroup_title_insert" msgid="7803743109105317959">"Nuevo grupo"</string>
     <string name="editGroup_title_edit" msgid="2173278908256913247">"Editar grupo"</string>
-    <!-- no translation found for view_updates_from_group (1782685984905600034) -->
-    <skip />
+    <string name="view_updates_from_group" msgid="1782685984905600034">"Ver actualizaciones"</string>
     <!-- no translation found for notification_voicemail_title:one (1746619685488504230) -->
     <!-- no translation found for notification_voicemail_title:other (5513481419205061254) -->
     <!-- no translation found for notification_voicemail_callers_list (1153954809339404149) -->
     <skip />
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
-    <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
-    <skip />
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
+    <string name="voicemail_playback_error" msgid="5128928338910411763">"No se ha podido reproducir el mensaje de voz."</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Nuevo"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Anteriores"</string>
-    <!-- no translation found for voicemail_status_voicemail_not_available (3164200979671881947) -->
+    <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"No se puede conectar al buzón de voz."</string>
+    <string name="voicemail_status_messages_waiting" msgid="2970301042310727909">"No se puede conectar al buzón de voz. Nuevos mensajes en espera"</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3940240432123700974">"Configurar tu buzón de voz"</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Audio no disponible"</string>
+    <string name="voicemail_status_action_configure" msgid="7008713959076506385">"Configurar"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Llamar buzón de voz"</string>
+    <string name="voicemail_speed_slowest" msgid="6047030504814773029">"más lento"</string>
+    <string name="voicemail_speed_slower" msgid="7890393922358642543">"lento"</string>
+    <string name="voicemail_speed_normal" msgid="6030110237820243006">"normal"</string>
+    <string name="voicemail_speed_faster" msgid="4161478290979905481">"rápido"</string>
+    <string name="voicemail_speed_fastest" msgid="3373646875150544205">"más rápido"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
-    <!-- no translation found for voicemail_status_messages_waiting (2970301042310727909) -->
-    <skip />
-    <!-- no translation found for voicemail_status_configure_voicemail (3940240432123700974) -->
-    <skip />
-    <!-- no translation found for voicemail_status_audio_not_available (3369618334553341626) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_configure (7008713959076506385) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_call_server (1824816252288551794) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slowest (6047030504814773029) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slower (7890393922358642543) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_normal (6030110237820243006) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_faster (4161478290979905481) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
-    <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
-    <skip />
-    <!-- no translation found for group_name_hint (2659811836386413509) -->
-    <skip />
-    <!-- no translation found for nfc_vcard_file_name (2823095213265993609) -->
-    <skip />
-    <!-- no translation found for menu_show_voicemails_only (1898421289561435703) -->
-    <skip />
-    <!-- no translation found for status_available (5586870015822828392) -->
-    <skip />
-    <!-- no translation found for status_away (1838861100379804730) -->
-    <skip />
-    <!-- no translation found for status_busy (9147992455450257136) -->
-    <skip />
-    <!-- no translation found for description_call_log_call_button (8207201401459528442) -->
-    <skip />
-    <!-- no translation found for description_call_log_play_button (651182125650429846) -->
-    <skip />
-    <!-- no translation found for description_call_log_incoming_call (4485427487637250143) -->
-    <skip />
-    <!-- no translation found for description_call_log_outgoing_call (604831756853471658) -->
-    <skip />
-    <!-- no translation found for description_call_log_missed_call (2242805209983708825) -->
-    <skip />
-    <!-- no translation found for description_call_log_voicemail (4600798771975158948) -->
-    <skip />
-    <!-- no translation found for description_call_log_unheard_voicemail (118101684236996786) -->
-    <skip />
+    <string name="group_name_hint" msgid="2659811836386413509">"Nombre del grupo"</string>
+    <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Contacto por NFC"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Solo mensajes de voz"</string>
+    <string name="status_available" msgid="5586870015822828392">"Disponible"</string>
+    <string name="status_away" msgid="1838861100379804730">"Ausente"</string>
+    <string name="status_busy" msgid="9147992455450257136">"Ocupado"</string>
+    <string name="description_call_log_call_button" msgid="8207201401459528442">"Llamar al número"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Reproducir mensaje de voz"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Llamada entrante"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Llamada saliente"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Llamada perdida"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Buzón de voz"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Mensaje de voz no oído"</string>
     <!-- no translation found for call_log_empty_gecode (5588904744812100846) -->
     <skip />
 </resources>
diff --git a/res/values-fa-w470dp/strings.xml b/res/values-fa-w470dp/strings.xml
new file mode 100644
index 0000000..29032c3
--- /dev/null
+++ b/res/values-fa-w470dp/strings.xml
@@ -0,0 +1,20 @@
+<?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="recent_updates" msgid="7673783546044751339">"نسخه های به روز"</string>
+</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index da4b404..18da68c 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -76,8 +76,7 @@
     <string name="deleteConfirmation" msgid="811706994761610640">"این مخاطب حذف می شود."</string>
     <string name="menu_done" msgid="796017761764190697">"انجام شد"</string>
     <string name="menu_doNotSave" msgid="58593876893538465">"لغو"</string>
-    <!-- no translation found for menu_discard (6456087569315685632) -->
-    <skip />
+    <string name="menu_discard" msgid="6456087569315685632">"صرف نظر"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"ویرایش مخاطب"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"مخاطب جدید"</string>
     <string name="label_phonetic_name" msgid="2288082649573927286">"تلفظ آوایی"</string>
@@ -164,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"افزودن به مخاطبین"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"حذف از گزارش تماس"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"پاک کردن گزارش تماس"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"گزارش تماس خالی است."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"پاک کردن گزارش تماس"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"آیا مطمئن هستید که می خواهید گزارش تماس را پاک کنید؟"</string>
@@ -206,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"تماس مجدد"</string>
     <string name="returnCall" msgid="8171961914203617813">"برگشت تماس"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> دقیقه و <xliff:g id="SECONDS">%s</xliff:g> ثانیه"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"مکرراً تماس گرفته شده"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"افزودن مخاطب"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"\"<xliff:g id="EMAIL">%s</xliff:g>\" به مخاطبین افزوده شود؟"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"یک"</string>
@@ -424,10 +430,7 @@
     <!-- no translation found for from_account_format (4469138575127580203) -->
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"استفاده از این عکس"</string>
-    <!-- unknown placeholder SOURCE in contact_read_only -->
-    <skip />
-    <!-- no translation found for contact_read_only (1969214537163492087) -->
-    <skip />
+    <string name="contact_read_only" msgid="1969214537163492087">"بر روی این دستگاه قابل ویرایش نیست"</string>
     <string name="no_contact_details" msgid="6754415338321837001">"اطلاعات دیگری برای این مخاطب موجود نیست"</string>
     <!-- no translation found for group_read_only (7924922658394449477) -->
     <skip />
@@ -459,8 +462,7 @@
   </plurals>
     <string name="no_contacts_selected" msgid="5877803471037324613">"مخاطبی انتخاب نشده است."</string>
     <string name="add_field" msgid="2384260056674995230">"افزودن یک قسمت دیگر"</string>
-    <!-- no translation found for add_new_entry_for_section (5223080690667565044) -->
-    <skip />
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"افزودن مورد جدید"</string>
     <string name="contact_status_update_attribution" msgid="752179367353018597">"از طریق <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
     <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> از طریق <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"مورد دلخواه"</string>
@@ -490,7 +492,7 @@
     <string name="custom_list_filter" msgid="7836035257402013957">"تعیین نمای سفارشی"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"تنظیمات"</string>
     <string name="activity_title_contacts_filter" msgid="8275542497615516969">"مخاطبین جهت نمایش"</string>
-    <!-- outdated translation 377929915873428211 -->     <string name="menu_settings" msgid="1515262535785451190">"تنظیمات"</string>
+    <string name="menu_settings" msgid="1515262535785451190">"گزینه های نمایش"</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="hint_findContacts" msgid="1808681193458772072">"پیدا کردن مخاطبین"</string>
@@ -513,10 +515,14 @@
     <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> گروه"</item>
   </plurals>
     <string name="delete_group_dialog_message" msgid="295063284548750881">"مطمئنید می خواهید گروه \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" حذف شود؟ (مخاطبین خودشان حذف نخواهند شد.)"</string>
-    <!-- no translation found for num_contacts_in_group:one (1352418549951013448) -->
-    <!-- no translation found for num_contacts_in_group:other (8146027769011086349) -->
-    <!-- no translation found for group_list_num_contacts_in_group:one (3323065321661972446) -->
-    <!-- no translation found for group_list_num_contacts_in_group:other (6251996206137048525) -->
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> نفر از <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> نفر از <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> نفر"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> نفر"</item>
+  </plurals>
     <string name="toast_join_with_empty_contact" msgid="5015189525953438968">"لطفاً قبل از پیوستن به مخاطب دیگری نام مخاطب را وارد کنید."</string>
     <string name="indicator_joined_contact" msgid="3321049349627022128">"مخاطب ملحق شده"</string>
     <!-- no translation found for copy_text (3257145021583508761) -->
@@ -534,70 +540,42 @@
     <string name="enter_contact_name" msgid="2930510479516059437">"نام مخاطب را وارد کنید"</string>
     <string name="editGroup_title_insert" msgid="7803743109105317959">"گروه جدید"</string>
     <string name="editGroup_title_edit" msgid="2173278908256913247">"ویرایش گروه"</string>
-    <!-- no translation found for view_updates_from_group (1782685984905600034) -->
-    <skip />
+    <string name="view_updates_from_group" msgid="1782685984905600034">"مشاهده به روزرسانی ها"</string>
     <!-- no translation found for notification_voicemail_title:one (1746619685488504230) -->
     <!-- no translation found for notification_voicemail_title:other (5513481419205061254) -->
     <!-- no translation found for notification_voicemail_callers_list (1153954809339404149) -->
     <skip />
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
-    <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
-    <skip />
-    <!-- no translation found for call_log_type_date_separator (8009466658324061546) -->
-    <skip />
+    <string name="voicemail_playback_error" msgid="5128928338910411763">"نمی تواند پست صوتی را پخش کند"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"جدید"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"قدیمی تر"</string>
-    <!-- no translation found for voicemail_status_voicemail_not_available (3164200979671881947) -->
+    <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"اتصال به سرور پست صوتی امکان پذیر نیست."</string>
+    <string name="voicemail_status_messages_waiting" msgid="2970301042310727909">"نمی تواند به سرور پست صوتی وصل شود. پستهای صوتی جدید در انتظارند."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3940240432123700974">"پست صوتی خود را پیکربندی کنید."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"صدا موجود نیست."</string>
+    <string name="voicemail_status_action_configure" msgid="7008713959076506385">"پیکربندی"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"تماس با پست صوتی"</string>
+    <string name="voicemail_speed_slowest" msgid="6047030504814773029">"کمترین سرعت"</string>
+    <string name="voicemail_speed_slower" msgid="7890393922358642543">"سرعت کم"</string>
+    <string name="voicemail_speed_normal" msgid="6030110237820243006">"سرعت عادی"</string>
+    <string name="voicemail_speed_faster" msgid="4161478290979905481">"سرعت زیاد"</string>
+    <string name="voicemail_speed_fastest" msgid="3373646875150544205">"بیشترین سرعت"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
-    <!-- no translation found for voicemail_status_messages_waiting (2970301042310727909) -->
-    <skip />
-    <!-- no translation found for voicemail_status_configure_voicemail (3940240432123700974) -->
-    <skip />
-    <!-- no translation found for voicemail_status_audio_not_available (3369618334553341626) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_configure (7008713959076506385) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_call_server (1824816252288551794) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slowest (6047030504814773029) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slower (7890393922358642543) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_normal (6030110237820243006) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_faster (4161478290979905481) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
-    <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
-    <skip />
-    <!-- no translation found for group_name_hint (2659811836386413509) -->
-    <skip />
-    <!-- no translation found for nfc_vcard_file_name (2823095213265993609) -->
-    <skip />
-    <!-- no translation found for menu_show_voicemails_only (1898421289561435703) -->
-    <skip />
-    <!-- no translation found for status_available (5586870015822828392) -->
-    <skip />
-    <!-- no translation found for status_away (1838861100379804730) -->
-    <skip />
-    <!-- no translation found for status_busy (9147992455450257136) -->
-    <skip />
-    <!-- no translation found for description_call_log_call_button (8207201401459528442) -->
-    <skip />
-    <!-- no translation found for description_call_log_play_button (651182125650429846) -->
-    <skip />
-    <!-- no translation found for description_call_log_incoming_call (4485427487637250143) -->
-    <skip />
-    <!-- no translation found for description_call_log_outgoing_call (604831756853471658) -->
-    <skip />
-    <!-- no translation found for description_call_log_missed_call (2242805209983708825) -->
-    <skip />
-    <!-- no translation found for description_call_log_voicemail (4600798771975158948) -->
-    <skip />
-    <!-- no translation found for description_call_log_unheard_voicemail (118101684236996786) -->
-    <skip />
+    <string name="group_name_hint" msgid="2659811836386413509">"نام گروه"</string>
+    <string name="nfc_vcard_file_name" msgid="2823095213265993609">"مخاطب با NFC رسید"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"فقط نمایش پست های صوتی"</string>
+    <string name="status_available" msgid="5586870015822828392">"در دسترس"</string>
+    <string name="status_away" msgid="1838861100379804730">"غایب"</string>
+    <string name="status_busy" msgid="9147992455450257136">"مشغول"</string>
+    <string name="description_call_log_call_button" msgid="8207201401459528442">"تماس با شماره"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"پخش پست صوتی"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"تماس ورودی"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"تماس خروجی"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"تماس بی پاسخ"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"پست صوتی"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"پست صوتی شنیده نشده"</string>
     <!-- no translation found for call_log_empty_gecode (5588904744812100846) -->
     <skip />
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 899e394..dee2c8a 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Lisää yhteystietoihin"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Poista puhelulokista"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Tyhjennä puheluloki"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Puheluloki on tyhjä."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Tyhjennä puheluloki"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Haluatko varmasti tyhjentää puhelulokin?"</string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Soita uudelleen"</string>
     <string name="returnCall" msgid="8171961914203617813">"Soita takaisin"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Usein käytetyt"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Lisää yhteystieto"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Lisätäänkö <xliff:g id="EMAIL">%s</xliff:g> yhteystietoihin?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"yksi"</string>
@@ -541,8 +548,6 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"Vastaajaviestin toisto ei onnistu"</string>
-    <!-- no translation found for call_log_type_date_separator (8009466658324061546) -->
-    <skip />
     <string name="call_log_new_header" msgid="846546437517724715">"Uusi"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Vanhempi"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Ei voi yhdistää vastaajan palvelimeen."</string>
@@ -556,7 +561,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"Normaali"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"nopea"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"nopein"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"Ryhmän nimi"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Kontakti saatu NFC:n kautta"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Näytä vain vastaajaviestit"</string>
@@ -567,7 +573,7 @@
     <string name="description_call_log_play_button" msgid="651182125650429846">"Toista vastaajaviesti"</string>
     <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Saapuva puhelu"</string>
     <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Lähtevä puhelu"</string>
-    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Vastaamatta jäänyt puhelu"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Vastaamaton puhelu"</string>
     <string name="description_call_log_voicemail" msgid="4600798771975158948">"Vastaaja"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Kuuntelematon vastaajaviesti"</string>
     <!-- no translation found for call_log_empty_gecode (5588904744812100846) -->
diff --git a/res/values-fr-w470dp/strings.xml b/res/values-fr-w470dp/strings.xml
new file mode 100644
index 0000000..43158bc
--- /dev/null
+++ b/res/values-fr-w470dp/strings.xml
@@ -0,0 +1,20 @@
+<?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="recent_updates" msgid="7673783546044751339">"Mises à jour"</string>
+</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index ae55c7a..e9b3804 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -76,8 +76,7 @@
     <string name="deleteConfirmation" msgid="811706994761610640">"Ce contact sera supprimé."</string>
     <string name="menu_done" msgid="796017761764190697">"OK"</string>
     <string name="menu_doNotSave" msgid="58593876893538465">"Annuler"</string>
-    <!-- no translation found for menu_discard (6456087569315685632) -->
-    <skip />
+    <string name="menu_discard" msgid="6456087569315685632">"Annuler"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"Modifier le contact"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"Nouveau contact"</string>
     <string name="label_phonetic_name" msgid="2288082649573927286">"Prononciation phonétique"</string>
@@ -164,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Ajouter aux contacts"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Supprimer du journal d\'appels"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Effacer tous les appels"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Aucun appel."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Effacer le journal d\'appels"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Voulez-vous vraiment effacer le journal d\'appels ?"</string>
@@ -180,12 +183,12 @@
     <string name="simContacts_title" msgid="27341688347689769">"Contacts de carte SIM"</string>
     <string name="noContactsHelpTextWithSyncForCreateShortcut" msgid="801504710275614594">"Vous n\'avez aucun contact à afficher. Si vous venez d\'ajouter un compte, la synchronisation des contacts peut prendre quelques minutes."</string>
     <string name="noContactsHelpTextForCreateShortcut" msgid="3081286388667108335">"Vous n\'avez aucun contact à afficher."</string>
-    <!-- syntax error in translation for noContactsHelpText (6450346791169710787) org.xmlpull.v1.XmlPullParserException: expected: /b read: font (position:END_TAG </font>@1:560 in java.io.StringReader@71f6f0bf)  -->
-    <!-- syntax error in translation for noContactsHelpText (7633826236417884130) org.xmlpull.v1.XmlPullParserException: expected: /b read: font (position:END_TAG </font>@1:567 in java.io.StringReader@b37c60d)  -->
+    <!-- syntax error in translation for noContactsHelpText (6450346791169710787) org.xmlpull.v1.XmlPullParserException: expected: /b read: font (position:END_TAG </font>@1:560 in java.io.StringReader@72c53dce)  -->
+    <!-- syntax error in translation for noContactsHelpText (7633826236417884130) org.xmlpull.v1.XmlPullParserException: expected: /b read: font (position:END_TAG </font>@1:567 in java.io.StringReader@735cda3f)  -->
     <string name="noContactsHelpTextWithSync" product="tablet" msgid="2364665535969139880">"Vous n\'avez aucun contact à afficher (si vous venez d\'ajouter un compte, la synchronisation des contacts peut prendre quelques minutes)."\n\n"Pour ajouter des contacts, appuyez sur "<font fgcolor="#ffffffff"><b>"Menu"</b></font>", puis sur :"\n" "\n<li><font fgcolor="#ffffffff"><b>"Comptes"</b></font>" pour ajouter ou configurer un compte dont vous pourrez synchroniser les contacts vers la tablette ;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Options d\'affichage"</b></font>" pour modifier les paramètres de visibilité des contacts ;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Nouveau contact"</b></font>" pour créer un contact ;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importer/Exporter"</b></font>" pour importer des contacts depuis votre carte SIM ou SD."\n</li></string>
     <string name="noContactsHelpTextWithSync" product="default" msgid="3017521127042216243">"Vous n\'avez aucun contact à afficher (si vous venez d\'ajouter un compte, la synchronisation des contacts peut prendre quelques minutes)."\n\n"Pour ajouter des contacts, appuyez sur "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" et sélectionnez :"\n" "\n<li><font fgcolor="#ffffffff"><b>"Comptes"</b></font>" pour ajouter ou configurer un compte dont vous pourrez synchroniser les contacts sur le téléphone ;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Options d\'affichage"</b></font>" pour modifier le paramètre de visibilité des contacts ;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Nouveau contact"</b></font>" pour créer un contact ;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importer/Exporter"</b></font>" pour importer des contacts depuis votre carte SIM ou SD."\n</li></string>
-    <!-- syntax error in translation for noContactsNoSimHelpText (6031363021287849874) org.xmlpull.v1.XmlPullParserException: expected: /b read: font (position:END_TAG </font>@1:565 in java.io.StringReader@771c8a71)  -->
-    <!-- syntax error in translation for noContactsNoSimHelpText (467658807711582876) org.xmlpull.v1.XmlPullParserException: expected: /b read: font (position:END_TAG </font>@1:571 in java.io.StringReader@72c53dce)  -->
+    <!-- syntax error in translation for noContactsNoSimHelpText (6031363021287849874) org.xmlpull.v1.XmlPullParserException: expected: /b read: font (position:END_TAG </font>@1:565 in java.io.StringReader@268b819f)  -->
+    <!-- syntax error in translation for noContactsNoSimHelpText (467658807711582876) org.xmlpull.v1.XmlPullParserException: expected: /b read: font (position:END_TAG </font>@1:571 in java.io.StringReader@10eb017e)  -->
     <string name="noContactsNoSimHelpTextWithSync" product="tablet" msgid="6222739731808897565">"Vous n\'avez aucun contact à afficher (si vous venez d\'ajouter un compte, la synchronisation des contacts peut prendre quelques minutes)."\n\n"Pour ajouter des contacts, appuyez sur "<font fgcolor="#ffffffff"><b>"Menu"</b></font>", puis sur :"\n" "\n<li><font fgcolor="#ffffffff"><b>"Comptes"</b></font>" pour ajouter ou configurer un compte dont vous pourrez synchroniser les contacts vers la tablette ;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Options d\'affichage"</b></font>" pour modifier les paramètres de visibilité des contacts ;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Nouveau contact"</b></font>" pour créer un contact ;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importer/Exporter"</b></font>" pour importer des contacts depuis votre carte SD."\n</li></string>
     <string name="noContactsNoSimHelpTextWithSync" product="default" msgid="9040060730467973050">"Vous n\'avez aucun contact à afficher (si vous venez d\'ajouter un compte, la synchronisation des contacts peut prendre quelques minutes)."\n\n"Pour ajouter des contacts, appuyez sur "<font fgcolor="#ffffffff"><b>"Menu"</b></font>" et sélectionnez :"\n" "\n<li><font fgcolor="#ffffffff"><b>"Comptes"</b></font>" pour ajouter ou configurer un compte dont vous pourrez synchroniser les contacts sur le téléphone ;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Options d\'affichage"</b></font>" pour modifier le paramètre de visibilité des contacts ;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Nouveau contact"</b></font>" pour créer un contact ;"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importer/Exporter"</b></font>" pour importer des contacts depuis votre carte SD."\n</li></string>
     <string name="noFavoritesHelpText" msgid="3744655776704833277">"Vous ne disposez d\'aucun favoris."\n\n"Pour ajouter un contact à la liste de favoris :"\n\n"        "<li>"Appuyez sur l\'onglet "<b>"Contacts"</b>"."\n</li>" "\n<li>"Appuyez sur le contact à ajouter à vos favoris."\n</li>" "\n<li>"Appuyez sur l\'étoile en regard du nom du contact."\n</li></string>
@@ -206,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Renouveler l\'appel"</string>
     <string name="returnCall" msgid="8171961914203617813">"Rappeler"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> mn <xliff:g id="SECONDS">%s</xliff:g> s"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Contactés fréquemment"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Ajouter un contact"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Ajouter \"<xliff:g id="EMAIL">%s</xliff:g>\" aux contacts ?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"un"</string>
@@ -424,10 +430,7 @@
     <!-- no translation found for from_account_format (4469138575127580203) -->
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Utiliser cette photo"</string>
-    <!-- unknown placeholder SOURCE in contact_read_only -->
-    <skip />
-    <!-- no translation found for contact_read_only (1969214537163492087) -->
-    <skip />
+    <string name="contact_read_only" msgid="1969214537163492087">"Non modifiable sur cet appareil"</string>
     <string name="no_contact_details" msgid="6754415338321837001">"Aucune autre information pour ce contact"</string>
     <!-- no translation found for group_read_only (7924922658394449477) -->
     <skip />
@@ -459,8 +462,7 @@
   </plurals>
     <string name="no_contacts_selected" msgid="5877803471037324613">"Aucun contact sélectionné"</string>
     <string name="add_field" msgid="2384260056674995230">"Ajouter un champ"</string>
-    <!-- no translation found for add_new_entry_for_section (5223080690667565044) -->
-    <skip />
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Ajouter"</string>
     <string name="contact_status_update_attribution" msgid="752179367353018597">"via <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
     <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> via <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"favori"</string>
@@ -490,7 +492,7 @@
     <string name="custom_list_filter" msgid="7836035257402013957">"Définir un affichage personnalisé"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Paramètres"</string>
     <string name="activity_title_contacts_filter" msgid="8275542497615516969">"Contacts à afficher"</string>
-    <!-- outdated translation 377929915873428211 -->     <string name="menu_settings" msgid="1515262535785451190">"Paramètres"</string>
+    <string name="menu_settings" msgid="1515262535785451190">"Afficher les options"</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="hint_findContacts" msgid="1808681193458772072">"Recherchez des contacts"</string>
@@ -513,10 +515,14 @@
     <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> groupes"</item>
   </plurals>
     <string name="delete_group_dialog_message" msgid="295063284548750881">"Voulez-vous vraiment supprimer le groupe \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\" ? Vos contacts ne seront pas supprimés."</string>
-    <!-- no translation found for num_contacts_in_group:one (1352418549951013448) -->
-    <!-- no translation found for num_contacts_in_group:other (8146027769011086349) -->
-    <!-- no translation found for group_list_num_contacts_in_group:one (3323065321661972446) -->
-    <!-- no translation found for group_list_num_contacts_in_group:other (6251996206137048525) -->
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> contact 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> contacts 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> contact"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> contacts"</item>
+  </plurals>
     <string name="toast_join_with_empty_contact" msgid="5015189525953438968">"Veuillez saisir le nom de ce contact avant de l\'associer à un autre."</string>
     <string name="indicator_joined_contact" msgid="3321049349627022128">"Contact associé"</string>
     <!-- no translation found for copy_text (3257145021583508761) -->
@@ -534,70 +540,42 @@
     <string name="enter_contact_name" msgid="2930510479516059437">"Saisissez le nom du contact."</string>
     <string name="editGroup_title_insert" msgid="7803743109105317959">"Nouveau groupe"</string>
     <string name="editGroup_title_edit" msgid="2173278908256913247">"Modifier le groupe"</string>
-    <!-- no translation found for view_updates_from_group (1782685984905600034) -->
-    <skip />
+    <string name="view_updates_from_group" msgid="1782685984905600034">"Afficher mises à jour"</string>
     <!-- no translation found for notification_voicemail_title:one (1746619685488504230) -->
     <!-- no translation found for notification_voicemail_title:other (5513481419205061254) -->
     <!-- no translation found for notification_voicemail_callers_list (1153954809339404149) -->
     <skip />
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
-    <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
+    <string name="voicemail_playback_error" msgid="5128928338910411763">"Impossible d\'écouter le message vocal."</string>
+    <string name="call_log_new_header" msgid="846546437517724715">"Nouveau"</string>
+    <string name="call_log_old_header" msgid="6262205894314263629">"Précédent"</string>
+    <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Impossible de se connecter au serveur de messagerie vocale."</string>
+    <string name="voicemail_status_messages_waiting" msgid="2970301042310727909">"Connexion messagerie vocale impossible. Nouveaux messages vocaux."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3940240432123700974">"Configurez votre messagerie vocale."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Contenu audio indisponible."</string>
+    <string name="voicemail_status_action_configure" msgid="7008713959076506385">"Configurez"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Appeler mess. vocale"</string>
+    <string name="voicemail_speed_slowest" msgid="6047030504814773029">"vitesse la plus lente"</string>
+    <string name="voicemail_speed_slower" msgid="7890393922358642543">"vitesse lente"</string>
+    <string name="voicemail_speed_normal" msgid="6030110237820243006">"vitesse normale"</string>
+    <string name="voicemail_speed_faster" msgid="4161478290979905481">"vitesse rapide"</string>
+    <string name="voicemail_speed_fastest" msgid="3373646875150544205">"vitesse la plus rapide"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
-    <!-- no translation found for call_log_type_date_separator (8009466658324061546) -->
-    <skip />
-    <string name="call_log_new_header" msgid="846546437517724715">"Nouveaux"</string>
-    <string name="call_log_old_header" msgid="6262205894314263629">"Anciens"</string>
-    <!-- no translation found for voicemail_status_voicemail_not_available (3164200979671881947) -->
-    <skip />
-    <!-- no translation found for voicemail_status_messages_waiting (2970301042310727909) -->
-    <skip />
-    <!-- no translation found for voicemail_status_configure_voicemail (3940240432123700974) -->
-    <skip />
-    <!-- no translation found for voicemail_status_audio_not_available (3369618334553341626) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_configure (7008713959076506385) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_call_server (1824816252288551794) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slowest (6047030504814773029) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slower (7890393922358642543) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_normal (6030110237820243006) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_faster (4161478290979905481) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
-    <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
-    <skip />
-    <!-- no translation found for group_name_hint (2659811836386413509) -->
-    <skip />
-    <!-- no translation found for nfc_vcard_file_name (2823095213265993609) -->
-    <skip />
-    <!-- no translation found for menu_show_voicemails_only (1898421289561435703) -->
-    <skip />
-    <!-- no translation found for status_available (5586870015822828392) -->
-    <skip />
-    <!-- no translation found for status_away (1838861100379804730) -->
-    <skip />
-    <!-- no translation found for status_busy (9147992455450257136) -->
-    <skip />
-    <!-- no translation found for description_call_log_call_button (8207201401459528442) -->
-    <skip />
-    <!-- no translation found for description_call_log_play_button (651182125650429846) -->
-    <skip />
-    <!-- no translation found for description_call_log_incoming_call (4485427487637250143) -->
-    <skip />
-    <!-- no translation found for description_call_log_outgoing_call (604831756853471658) -->
-    <skip />
-    <!-- no translation found for description_call_log_missed_call (2242805209983708825) -->
-    <skip />
-    <!-- no translation found for description_call_log_voicemail (4600798771975158948) -->
-    <skip />
-    <!-- no translation found for description_call_log_unheard_voicemail (118101684236996786) -->
-    <skip />
+    <string name="group_name_hint" msgid="2659811836386413509">"Nom du groupe"</string>
+    <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Contact reçu via NFC"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Messages vocaux uniquement"</string>
+    <string name="status_available" msgid="5586870015822828392">"Disponible"</string>
+    <string name="status_away" msgid="1838861100379804730">"Absent"</string>
+    <string name="status_busy" msgid="9147992455450257136">"Occupé"</string>
+    <string name="description_call_log_call_button" msgid="8207201401459528442">"Appeler le numéro"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Écouter le message vocal"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Appel entrant"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Appel sortant"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Appel manqué"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Message vocal"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nouveau message vocal"</string>
     <!-- no translation found for call_log_empty_gecode (5588904744812100846) -->
     <skip />
 </resources>
diff --git a/res/values-hr-w470dp/strings.xml b/res/values-hr-w470dp/strings.xml
new file mode 100644
index 0000000..8f1df32
--- /dev/null
+++ b/res/values-hr-w470dp/strings.xml
@@ -0,0 +1,20 @@
+<?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="recent_updates" msgid="7673783546044751339">"Ažuriranja"</string>
+</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 8c170d9..9a9fb91 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -76,8 +76,7 @@
     <string name="deleteConfirmation" msgid="811706994761610640">"Ovaj će kontakt biti izbrisan."</string>
     <string name="menu_done" msgid="796017761764190697">"Gotovo"</string>
     <string name="menu_doNotSave" msgid="58593876893538465">"Odustani"</string>
-    <!-- no translation found for menu_discard (6456087569315685632) -->
-    <skip />
+    <string name="menu_discard" msgid="6456087569315685632">"Odbaci"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"Uredi kontakt"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"Novi kontakt"</string>
     <string name="label_phonetic_name" msgid="2288082649573927286">"Fonetski"</string>
@@ -164,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Dodaj u kontakte"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Ukloni iz zapisnika poziva"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Izbriši zapisnik poziva"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Zapisnik poziva je prazan"</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Izbriši zapisnik poziva"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Jeste li sigurni da želite izbrisati zapisnik poziva?"</string>
@@ -206,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Zovi ponovo"</string>
     <string name="returnCall" msgid="8171961914203617813">"Povratni poziv"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> minuta <xliff:g id="SECONDS">%s</xliff:g> sekundi"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Često kontaktirani"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Dodaj kontakt"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Dodati \"<xliff:g id="EMAIL">%s</xliff:g>\" kontaktima?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"jedan"</string>
@@ -424,10 +430,7 @@
     <!-- no translation found for from_account_format (4469138575127580203) -->
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Upotrijebi ovu fotografiju"</string>
-    <!-- unknown placeholder SOURCE in contact_read_only -->
-    <skip />
-    <!-- no translation found for contact_read_only (1969214537163492087) -->
-    <skip />
+    <string name="contact_read_only" msgid="1969214537163492087">"Ne može se uređivati ​​na ovom uređaju"</string>
     <string name="no_contact_details" msgid="6754415338321837001">"Nema dodatnih informacija za ovaj kontakt"</string>
     <!-- no translation found for group_read_only (7924922658394449477) -->
     <skip />
@@ -459,8 +462,7 @@
   </plurals>
     <string name="no_contacts_selected" msgid="5877803471037324613">"Nije odabran nijedan kontakt."</string>
     <string name="add_field" msgid="2384260056674995230">"Dodaj drugo polje"</string>
-    <!-- no translation found for add_new_entry_for_section (5223080690667565044) -->
-    <skip />
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Dodaj novo"</string>
     <string name="contact_status_update_attribution" msgid="752179367353018597">"preko izvora <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
     <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> preko izvora <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"favorit"</string>
@@ -490,7 +492,7 @@
     <string name="custom_list_filter" msgid="7836035257402013957">"Definiranje prilagođenog prikaza"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Postavke"</string>
     <string name="activity_title_contacts_filter" msgid="8275542497615516969">"Kontakti za prikaz"</string>
-    <!-- outdated translation 377929915873428211 -->     <string name="menu_settings" msgid="1515262535785451190">"Postavke"</string>
+    <string name="menu_settings" msgid="1515262535785451190">"Opcije prikaza"</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="hint_findContacts" msgid="1808681193458772072">"Pronađi kontakte"</string>
@@ -513,10 +515,14 @@
     <item quantity="other" msgid="1276758425904917367">"Br. grupa: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
   </plurals>
     <string name="delete_group_dialog_message" msgid="295063284548750881">"Jeste li sigurni da želite izbrisati grupu \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Sami kontakti neće biti izbrisani.)"</string>
-    <!-- no translation found for num_contacts_in_group:one (1352418549951013448) -->
-    <!-- no translation found for num_contacts_in_group:other (8146027769011086349) -->
-    <!-- no translation found for group_list_num_contacts_in_group:one (3323065321661972446) -->
-    <!-- no translation found for group_list_num_contacts_in_group:other (6251996206137048525) -->
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> osoba iz <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+    <item quantity="other" msgid="8146027769011086349">"Broj 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">"<xliff:g id="COUNT">%1$d</xliff:g> osoba"</item>
+    <item quantity="other" msgid="6251996206137048525">"Broj osoba: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
+  </plurals>
     <string name="toast_join_with_empty_contact" msgid="5015189525953438968">"Unesite ime kontakta prije pridruživanja drugom kontaktu."</string>
     <string name="indicator_joined_contact" msgid="3321049349627022128">"Pridruženi kontakt"</string>
     <!-- no translation found for copy_text (3257145021583508761) -->
@@ -534,69 +540,42 @@
     <string name="enter_contact_name" msgid="2930510479516059437">"Unesite ime kontakta"</string>
     <string name="editGroup_title_insert" msgid="7803743109105317959">"Nova skupina"</string>
     <string name="editGroup_title_edit" msgid="2173278908256913247">"Uredi skupinu"</string>
-    <!-- no translation found for view_updates_from_group (1782685984905600034) -->
-    <skip />
+    <string name="view_updates_from_group" msgid="1782685984905600034">"Prikaži ažuriranja"</string>
     <!-- no translation found for notification_voicemail_title:one (1746619685488504230) -->
     <!-- no translation found for notification_voicemail_title:other (5513481419205061254) -->
     <!-- no translation found for notification_voicemail_callers_list (1153954809339404149) -->
     <skip />
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
-    <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
-    <skip />
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
+    <string name="voicemail_playback_error" msgid="5128928338910411763">"Reprodukcija govorne pošte nije moguća"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Novo"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Starije"</string>
-    <!-- no translation found for voicemail_status_voicemail_not_available (3164200979671881947) -->
+    <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Povezivanje s poslužiteljem govorne pošte nije moguće."</string>
+    <string name="voicemail_status_messages_waiting" msgid="2970301042310727909">"Nema veze s poslužiteljem govorne pošte. Nova pošta čeka."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3940240432123700974">"Konfigurirajte svoju govornu poštu."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Zvuk nije dostupan."</string>
+    <string name="voicemail_status_action_configure" msgid="7008713959076506385">"Konfiguriraj"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Zovi govornu poštu"</string>
+    <string name="voicemail_speed_slowest" msgid="6047030504814773029">"najsporije"</string>
+    <string name="voicemail_speed_slower" msgid="7890393922358642543">"sporo"</string>
+    <string name="voicemail_speed_normal" msgid="6030110237820243006">"normalna brzina"</string>
+    <string name="voicemail_speed_faster" msgid="4161478290979905481">"brzo"</string>
+    <string name="voicemail_speed_fastest" msgid="3373646875150544205">"najbrže"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
-    <!-- no translation found for voicemail_status_messages_waiting (2970301042310727909) -->
-    <skip />
-    <!-- no translation found for voicemail_status_configure_voicemail (3940240432123700974) -->
-    <skip />
-    <!-- no translation found for voicemail_status_audio_not_available (3369618334553341626) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_configure (7008713959076506385) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_call_server (1824816252288551794) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slowest (6047030504814773029) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slower (7890393922358642543) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_normal (6030110237820243006) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_faster (4161478290979905481) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
-    <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
-    <skip />
-    <!-- no translation found for group_name_hint (2659811836386413509) -->
-    <skip />
-    <!-- no translation found for nfc_vcard_file_name (2823095213265993609) -->
-    <skip />
-    <!-- no translation found for menu_show_voicemails_only (1898421289561435703) -->
-    <skip />
-    <!-- no translation found for status_available (5586870015822828392) -->
-    <skip />
-    <!-- no translation found for status_away (1838861100379804730) -->
-    <skip />
-    <!-- no translation found for status_busy (9147992455450257136) -->
-    <skip />
-    <!-- no translation found for description_call_log_call_button (8207201401459528442) -->
-    <skip />
-    <!-- no translation found for description_call_log_play_button (651182125650429846) -->
-    <skip />
-    <!-- no translation found for description_call_log_incoming_call (4485427487637250143) -->
-    <skip />
-    <!-- no translation found for description_call_log_outgoing_call (604831756853471658) -->
-    <skip />
-    <!-- no translation found for description_call_log_missed_call (2242805209983708825) -->
-    <skip />
-    <!-- no translation found for description_call_log_voicemail (4600798771975158948) -->
-    <skip />
-    <!-- no translation found for description_call_log_unheard_voicemail (118101684236996786) -->
-    <skip />
+    <string name="group_name_hint" msgid="2659811836386413509">"Ime grupe"</string>
+    <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Kontakt NFC-om"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Prikaži samo govorne pošte"</string>
+    <string name="status_available" msgid="5586870015822828392">"Dostupan"</string>
+    <string name="status_away" msgid="1838861100379804730">"Odsutan"</string>
+    <string name="status_busy" msgid="9147992455450257136">"Zauzet"</string>
+    <string name="description_call_log_call_button" msgid="8207201401459528442">"Nazovi broj"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Reprodukcija govorne pošte"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Dolazni poziv"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Odlazni poziv"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Propušteni poziv"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Govorna pošta"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nepreslušana govorna pošta"</string>
     <!-- no translation found for call_log_empty_gecode (5588904744812100846) -->
     <skip />
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 600e893..a421eef 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Hozzáadás a névjegyekhez"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Eltávolítás a híváslistából"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Híváslista törlése"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"A híváslista üres."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Híváslista törlése"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Biztosan törli a híváslistát?"</string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Hívásismétlés"</string>
     <string name="returnCall" msgid="8171961914203617813">"Visszahívás"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> perc <xliff:g id="SECONDS">%s</xliff:g> másodperc"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Gyakran keresett"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Névjegy hozzáadása"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Hozzáadja a(z) \"<xliff:g id="EMAIL">%s</xliff:g>\"címet a Címtárhoz?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"egy"</string>
@@ -533,7 +540,7 @@
     <string name="enter_contact_name" msgid="2930510479516059437">"Adja meg a kapcsolattartó nevét"</string>
     <string name="editGroup_title_insert" msgid="7803743109105317959">"Új csoport"</string>
     <string name="editGroup_title_edit" msgid="2173278908256913247">"Csoport szerkesztése"</string>
-    <string name="view_updates_from_group" msgid="1782685984905600034">"Frissítések megtek."</string>
+    <string name="view_updates_from_group" msgid="1782685984905600034">"Frissítések"</string>
     <!-- no translation found for notification_voicemail_title:one (1746619685488504230) -->
     <!-- no translation found for notification_voicemail_title:other (5513481419205061254) -->
     <!-- no translation found for notification_voicemail_callers_list (1153954809339404149) -->
@@ -541,7 +548,6 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"Nem lehet lejátszani a hangpostát"</string>
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Új"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Régebbi"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Nem lehet csatlakozni a hangpostaszerverhez."</string>
@@ -555,10 +561,11 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"normál sebesség"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"gyors"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"leggyorsabb"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"Csoport neve"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"NFC-n kapott névjegy"</string>
-    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Csak a hangüzenetek megjel."</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Csak a hangüzenetek"</string>
     <string name="status_available" msgid="5586870015822828392">"Elérhető"</string>
     <string name="status_away" msgid="1838861100379804730">"Nincs a gépnél"</string>
     <string name="status_busy" msgid="9147992455450257136">"Elfoglalt"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 9d9683c..af51e34 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Tambahkan ke kenalan"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Hapus dari log panggilan"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Hapus log panggilan"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Log panggilan kosong."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Hapus log panggilan"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Apakah Anda yakin ingin menghapus log panggilan?"</string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Hubungi sekali lagi"</string>
     <string name="returnCall" msgid="8171961914203617813">"Panggilan kembali"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> menit <xliff:g id="SECONDS">%s</xliff:g> detik"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Paling sering dihubungi"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Tambahkan kenalan"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Tambahkan \"<xliff:g id="EMAIL">%s</xliff:g>\" ke kenalan?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"satu"</string>
@@ -541,8 +548,6 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"Tidak dapat memutar kotak pesan"</string>
-    <!-- no translation found for call_log_type_date_separator (8009466658324061546) -->
-    <skip />
     <string name="call_log_new_header" msgid="846546437517724715">"Baru"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Lebih Lama"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Tidak dapat terhubung ke server kotak pesan."</string>
@@ -556,7 +561,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"kecepatan normal"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"kecepatan tinggi"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"kecepatan tertinggi"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"Nama Grup"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Kenalan dari NFC"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Tampilkan kotak pesan saja"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index bcb810a..d7043c8 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -66,17 +66,15 @@
     <string name="contactsJoinedMessage" msgid="7208148163607047389">"Contatti uniti"</string>
     <string name="contactOptionsTitle" msgid="8259347644090700915">"Opzioni"</string>
     <string name="deleteConfirmation_title" msgid="6394309508930335204">"Elimina"</string>
-    <!-- no translation found for menu_set_ring_tone (8728345772068064946) -->
-    <skip />
-    <!-- no translation found for menu_redirect_calls_to_vm (3291482125835338104) -->
-    <skip />
+    <string name="menu_set_ring_tone" msgid="8728345772068064946">"Imposta suoneria"</string>
+    <string name="menu_redirect_calls_to_vm" msgid="3291482125835338104">"Reindirizza chiamate a segreteria"</string>
     <string name="readOnlyContactWarning" msgid="1390849295342594265">"Non puoi eliminare contatti di 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="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_done" msgid="796017761764190697">"Salva"</string>
     <string name="menu_doNotSave" msgid="58593876893538465">"Annulla"</string>
-    <string name="menu_discard" msgid="6456087569315685632">"Annulla"</string>
+    <string name="menu_discard" msgid="6456087569315685632">"Ignora"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"Modifica contatto"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"Nuovo contatto"</string>
     <string name="label_phonetic_name" msgid="2288082649573927286">"Fonetica"</string>
@@ -104,10 +102,9 @@
     <string name="send_to_voicemail_checkbox" msgid="9001686764070676353">"Inoltra chiamate direttamente alla segreteria"</string>
     <string name="default_ringtone" msgid="9099988849649827972">"Predefinita"</string>
     <string name="removePhoto" msgid="4898105274130284565">"Rimuovi foto"</string>
-    <!-- outdated translation 8579310973261953559 -->     <string name="noContacts" msgid="4955659076981974652">"Nessun contatto."</string>
-    <!-- outdated translation 8614664663561385253 -->     <string name="noGroups" msgid="7315200974181864731">"Nessun gruppo."</string>
-    <!-- no translation found for noAccounts (4742609114153797268) -->
-    <skip />
+    <string name="noContacts" msgid="4955659076981974652">"Nessun contatto"</string>
+    <string name="noGroups" msgid="7315200974181864731">"Nessun gruppo"</string>
+    <string name="noAccounts" msgid="4742609114153797268">"Per creare gruppi è necessario un account"</string>
     <string name="noMatchingContacts" msgid="4266283206853990471">"Nessun contatto corrispondente trovato."</string>
     <string name="noContactsWithPhoneNumbers" msgid="1605457050218824269">"Nessun contatto con numeri di telefono."</string>
     <string name="headerContactGroups" msgid="2426134991932503843">"Scegli i contatti da visualizzare"</string>
@@ -136,7 +133,7 @@
   </plurals>
     <string name="listTotalAllContactsZero" msgid="1889349925514589304">"Nessun contatto"</string>
     <string name="listTotalAllContactsZeroCustom" msgid="4058252141420128998">"Nessun contatto visibile"</string>
-    <!-- outdated translation 5391630590684099117 -->     <string name="listTotalAllContactsZeroStarred" msgid="1289318488170099285">"Nessun contatto aggiunto a Speciali"</string>
+    <string name="listTotalAllContactsZeroStarred" msgid="1289318488170099285">"Nessun preferito"</string>
     <string name="listTotalAllContactsZeroGroup" msgid="5448979458248027615">"Nessun contatto in <xliff:g id="NAME">%s</xliff:g>"</string>
     <string name="listAllContactsInAccount" msgid="7496143179265311758">"Contatti in <xliff:g id="NAME">%s</xliff:g>"</string>
   <plurals name="listFoundAllContacts">
@@ -163,6 +160,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Aggiungi a contatti"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Rimuovi da registro"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Cancella registro chiamate"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Il registro chiamate è vuoto."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Cancella registro chiamate"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Cancellare il registro chiamate?"</string>
@@ -205,7 +206,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Richiama"</string>
     <string name="returnCall" msgid="8171961914203617813">"Chiama numero"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sec."</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Contattati spesso"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Aggiungi contatto"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Aggiungi \"<xliff:g id="EMAIL">%s</xliff:g>\" ai contatti?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"uno"</string>
@@ -305,8 +309,7 @@
     <string name="sms_disambig_title" msgid="4675399294513152364">"Invia SMS utilizzando"</string>
     <string name="make_primary" msgid="5829291915305113983">"Memorizza questa scelta"</string>
     <string name="quickcontact_missing_app" msgid="4600366393134289038">"Nessuna applicazione trovata in grado di gestire questa azione"</string>
-    <!-- no translation found for missing_name (7930716592850443705) -->
-    <skip />
+    <string name="missing_name" msgid="7930716592850443705">"(nessun nome)"</string>
     <string name="menu_accounts" msgid="8499114602017077970">"Account"</string>
     <string name="menu_contacts_filter" msgid="2165153460860262501">"Contatti da visualizzare"</string>
     <string name="menu_import_export" msgid="3765725645491577190">"Importa/esporta"</string>
@@ -416,8 +419,7 @@
     <string name="name_phonetic_family" msgid="462095502140180305">"Cognome fonetico"</string>
     <string name="name_phonetic" msgid="4259595234312430484">"Nome fonetico"</string>
     <string name="network" msgid="5415816765302129264">"Rete"</string>
-    <!-- no translation found for more_networks_button (8566780094016196438) -->
-    <skip />
+    <string name="more_networks_button" msgid="8566780094016196438">"Altre reti"</string>
     <string name="recent_updates" msgid="2062236709538790412">"Recenti"</string>
     <string name="account_type_format" msgid="718948015590343010">"Contatto da <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
     <!-- no translation found for from_account_format (4469138575127580203) -->
@@ -425,8 +427,7 @@
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Utilizza questa foto"</string>
     <string name="contact_read_only" msgid="1969214537163492087">"Non modificabile su questo dispositivo"</string>
     <string name="no_contact_details" msgid="6754415338321837001">"Nessuna informazione aggiuntiva per questo contatto"</string>
-    <!-- no translation found for group_read_only (7924922658394449477) -->
-    <skip />
+    <string name="group_read_only" msgid="7924922658394449477">"Non modificabile su questo dispositivo"</string>
     <string name="display_options_sort_list_by" msgid="6080091755852211076">"Ordina elenco per"</string>
     <string name="display_options_sort_by_given_name" msgid="184916793466387067">"Nome"</string>
     <string name="display_options_sort_by_family_name" msgid="7857986975275712622">"Cognome"</string>
@@ -518,12 +519,9 @@
   </plurals>
     <string name="toast_join_with_empty_contact" msgid="5015189525953438968">"Inserisci il nome del contatto prima di unirlo a un altro contatto."</string>
     <string name="indicator_joined_contact" msgid="3321049349627022128">"Contatto unito"</string>
-    <!-- no translation found for copy_text (3257145021583508761) -->
-    <skip />
-    <!-- no translation found for set_default (4417505153468300351) -->
-    <skip />
-    <!-- no translation found for clear_default (7193185801596678067) -->
-    <skip />
+    <string name="copy_text" msgid="3257145021583508761">"Copia negli appunti"</string>
+    <string name="set_default" msgid="4417505153468300351">"Imposta come predefinito"</string>
+    <string name="clear_default" msgid="7193185801596678067">"Cancella impostazione predefinita"</string>
     <string name="toast_text_copied" msgid="5143776250008541719">"Testo copiato"</string>
     <string name="cancel_confirmation_dialog_title" msgid="3950463632415908534">"Ignora modifiche"</string>
     <string name="cancel_confirmation_dialog_message" msgid="7021968394611740251">"Ignorare le modifiche?"</string>
@@ -534,14 +532,13 @@
     <string name="editGroup_title_insert" msgid="7803743109105317959">"Nuovo gruppo"</string>
     <string name="editGroup_title_edit" msgid="2173278908256913247">"Modifica gruppo"</string>
     <string name="view_updates_from_group" msgid="1782685984905600034">"Visualizza aggiornam."</string>
-    <!-- no translation found for notification_voicemail_title:one (1746619685488504230) -->
-    <!-- no translation found for notification_voicemail_title:other (5513481419205061254) -->
-    <!-- no translation found for notification_voicemail_callers_list (1153954809339404149) -->
-    <skip />
-    <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
-    <skip />
+  <plurals name="notification_voicemail_title">
+    <item quantity="one" msgid="1746619685488504230">"Segreteria"</item>
+    <item quantity="other" msgid="5513481419205061254">"<xliff:g id="COUNT">%1$d</xliff:g> messaggi vocali"</item>
+  </plurals>
+    <string name="notification_voicemail_callers_list" msgid="1153954809339404149">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
+    <string name="notification_new_voicemail_ticker" msgid="895342132049452081">"Nuovo messaggio vocale da <xliff:g id="CALLER">%1$s</xliff:g>"</string>
     <string name="voicemail_playback_error" msgid="5128928338910411763">"Impossibile riprodurre il messaggio vocale"</string>
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Nuovi"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Precedenti"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Impossibile collegarsi al server della segreteria."</string>
@@ -555,7 +552,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"velocità normale"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"alta velocità"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"massima velocità"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"Nome del gruppo"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Contatto ricevuto via NFC"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Mostra solo messaggi vocali"</string>
@@ -569,6 +567,5 @@
     <string name="description_call_log_missed_call" msgid="2242805209983708825">"Chiamata senza risposta"</string>
     <string name="description_call_log_voicemail" msgid="4600798771975158948">"Messaggio vocale"</string>
     <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Messaggio vocale non ascoltato"</string>
-    <!-- no translation found for call_log_empty_gecode (5588904744812100846) -->
-    <skip />
+    <string name="call_log_empty_gecode" msgid="5588904744812100846">"-"</string>
 </resources>
diff --git a/res/values-iw-w470dp/strings.xml b/res/values-iw-w470dp/strings.xml
new file mode 100644
index 0000000..c294064
--- /dev/null
+++ b/res/values-iw-w470dp/strings.xml
@@ -0,0 +1,20 @@
+<?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="recent_updates" msgid="7673783546044751339">"עדכונים"</string>
+</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 3889f14..031a348 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -76,8 +76,7 @@
     <string name="deleteConfirmation" msgid="811706994761610640">"איש קשר זה יימחק."</string>
     <string name="menu_done" msgid="796017761764190697">"בוצע"</string>
     <string name="menu_doNotSave" msgid="58593876893538465">"ביטול"</string>
-    <!-- no translation found for menu_discard (6456087569315685632) -->
-    <skip />
+    <string name="menu_discard" msgid="6456087569315685632">"מחק"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"ערוך איש קשר"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"איש קשר חדש"</string>
     <string name="label_phonetic_name" msgid="2288082649573927286">"פונטי"</string>
@@ -164,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"הוסף לאנשי הקשר"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"הסר מיומן השיחות"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"נקה את יומן השיחות"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"יומן השיחות ריק."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"נקה את יומן השיחות"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"האם אתה בטוח שברצונך לנקות את יומן השיחות?"</string>
@@ -206,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"התקשר שוב"</string>
     <string name="returnCall" msgid="8171961914203617813">"התקשר בחזרה"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> דק\' <xliff:g id="SECONDS">%s</xliff:g> שנ\'"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"מתקשר לעיתים קרובות"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"הוסף איש קשר"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"להוסיף את \"<xliff:g id="EMAIL">%s</xliff:g>\" לאנשי הקשר?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"אחד"</string>
@@ -424,10 +430,7 @@
     <!-- no translation found for from_account_format (4469138575127580203) -->
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"השתמש בתמונה זו"</string>
-    <!-- unknown placeholder SOURCE in contact_read_only -->
-    <skip />
-    <!-- no translation found for contact_read_only (1969214537163492087) -->
-    <skip />
+    <string name="contact_read_only" msgid="1969214537163492087">"לא ניתן לעריכה במכשיר זה"</string>
     <string name="no_contact_details" msgid="6754415338321837001">"אין מידע נוסף על איש קשר זה"</string>
     <!-- no translation found for group_read_only (7924922658394449477) -->
     <skip />
@@ -459,8 +462,7 @@
   </plurals>
     <string name="no_contacts_selected" msgid="5877803471037324613">"לא נבחרו אנשי קשר."</string>
     <string name="add_field" msgid="2384260056674995230">"הוסף שדה נוסף"</string>
-    <!-- no translation found for add_new_entry_for_section (5223080690667565044) -->
-    <skip />
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"הוסף חדש"</string>
     <string name="contact_status_update_attribution" msgid="752179367353018597">"דרך <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
     <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> דרך <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"מועדף"</string>
@@ -491,7 +493,7 @@
     <string name="custom_list_filter" msgid="7836035257402013957">"הגדר תצוגה מותאמת אישית"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"הגדרות"</string>
     <string name="activity_title_contacts_filter" msgid="8275542497615516969">"אנשי קשר להצגה"</string>
-    <!-- outdated translation 377929915873428211 -->     <string name="menu_settings" msgid="1515262535785451190">"הגדרות"</string>
+    <string name="menu_settings" msgid="1515262535785451190">"הצג אפשרויות"</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="hint_findContacts" msgid="1808681193458772072">"מצא אנשי קשר"</string>
@@ -514,10 +516,14 @@
     <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> קבוצות"</item>
   </plurals>
     <string name="delete_group_dialog_message" msgid="295063284548750881">"האם אתה בטוח שברצונך למחוק את הקבוצה \'<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\'? (אנשי הקשר עצמם לא יימחקו)."</string>
-    <!-- no translation found for num_contacts_in_group:one (1352418549951013448) -->
-    <!-- no translation found for num_contacts_in_group:other (8146027769011086349) -->
-    <!-- no translation found for group_list_num_contacts_in_group:one (3323065321661972446) -->
-    <!-- no translation found for group_list_num_contacts_in_group:other (6251996206137048525) -->
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"אדם <xliff:g id="COUNT_0">%1$d</xliff:g> מ-<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> אנשים מ-<xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"אדם <xliff:g id="COUNT">%1$d</xliff:g>"</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> אנשים"</item>
+  </plurals>
     <string name="toast_join_with_empty_contact" msgid="5015189525953438968">"הזן שם של איש קשר לפני צירוף לאיש קשר אחר."</string>
     <string name="indicator_joined_contact" msgid="3321049349627022128">"איש קשר מצורף"</string>
     <!-- no translation found for copy_text (3257145021583508761) -->
@@ -535,72 +541,44 @@
     <string name="enter_contact_name" msgid="2930510479516059437">"הזן את שם איש הקשר"</string>
     <string name="editGroup_title_insert" msgid="7803743109105317959">"קבוצה חדשה"</string>
     <string name="editGroup_title_edit" msgid="2173278908256913247">"ערוך קבוצה"</string>
-    <!-- no translation found for view_updates_from_group (1782685984905600034) -->
-    <skip />
+    <string name="view_updates_from_group" msgid="1782685984905600034">"הצג עדכונים"</string>
     <!-- no translation found for notification_voicemail_title:one (1746619685488504230) -->
     <!-- no translation found for notification_voicemail_title:other (5513481419205061254) -->
     <!-- no translation found for notification_voicemail_callers_list (1153954809339404149) -->
     <skip />
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
-    <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
-    <skip />
-    <!-- no translation found for call_log_type_date_separator (8009466658324061546) -->
-    <skip />
+    <string name="voicemail_playback_error" msgid="5128928338910411763">"לא ניתן להפעיל דואר קולי"</string>
     <!-- no translation found for call_log_new_header (846546437517724715) -->
     <skip />
     <!-- no translation found for call_log_old_header (6262205894314263629) -->
     <skip />
-    <!-- no translation found for voicemail_status_voicemail_not_available (3164200979671881947) -->
+    <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"לא ניתן להתחבר לשרת הדואר הקולי."</string>
+    <string name="voicemail_status_messages_waiting" msgid="2970301042310727909">"לא ניתן להתחבר לשרת הדואר הקולי. הודעות קוליות חדשות ממתינות."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3940240432123700974">"הגדר את הדואר הקולי שלך."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"אודיו אינו זמין."</string>
+    <string name="voicemail_status_action_configure" msgid="7008713959076506385">"הגדר"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"התקשר לדואר קולי"</string>
+    <string name="voicemail_speed_slowest" msgid="6047030504814773029">"המהירות הנמוכה ביותר"</string>
+    <string name="voicemail_speed_slower" msgid="7890393922358642543">"מהירות נמוכה"</string>
+    <string name="voicemail_speed_normal" msgid="6030110237820243006">"מהירות רגילה"</string>
+    <string name="voicemail_speed_faster" msgid="4161478290979905481">"מהירות גבוהה"</string>
+    <string name="voicemail_speed_fastest" msgid="3373646875150544205">"המהירות הגבוהה ביותר"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
-    <!-- no translation found for voicemail_status_messages_waiting (2970301042310727909) -->
-    <skip />
-    <!-- no translation found for voicemail_status_configure_voicemail (3940240432123700974) -->
-    <skip />
-    <!-- no translation found for voicemail_status_audio_not_available (3369618334553341626) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_configure (7008713959076506385) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_call_server (1824816252288551794) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slowest (6047030504814773029) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slower (7890393922358642543) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_normal (6030110237820243006) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_faster (4161478290979905481) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
-    <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
-    <skip />
-    <!-- no translation found for group_name_hint (2659811836386413509) -->
-    <skip />
-    <!-- no translation found for nfc_vcard_file_name (2823095213265993609) -->
-    <skip />
-    <!-- no translation found for menu_show_voicemails_only (1898421289561435703) -->
-    <skip />
-    <!-- no translation found for status_available (5586870015822828392) -->
-    <skip />
-    <!-- no translation found for status_away (1838861100379804730) -->
-    <skip />
-    <!-- no translation found for status_busy (9147992455450257136) -->
-    <skip />
-    <!-- no translation found for description_call_log_call_button (8207201401459528442) -->
-    <skip />
-    <!-- no translation found for description_call_log_play_button (651182125650429846) -->
-    <skip />
-    <!-- no translation found for description_call_log_incoming_call (4485427487637250143) -->
-    <skip />
-    <!-- no translation found for description_call_log_outgoing_call (604831756853471658) -->
-    <skip />
-    <!-- no translation found for description_call_log_missed_call (2242805209983708825) -->
-    <skip />
-    <!-- no translation found for description_call_log_voicemail (4600798771975158948) -->
-    <skip />
-    <!-- no translation found for description_call_log_unheard_voicemail (118101684236996786) -->
-    <skip />
+    <string name="group_name_hint" msgid="2659811836386413509">"שם הקבוצה"</string>
+    <string name="nfc_vcard_file_name" msgid="2823095213265993609">"איש הקשר התקבל באמצעות NFC"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"הצג הודעות דואר קולי בלבד"</string>
+    <string name="status_available" msgid="5586870015822828392">"זמין"</string>
+    <string name="status_away" msgid="1838861100379804730">"לא נמצא/ת"</string>
+    <string name="status_busy" msgid="9147992455450257136">"לא פנוי/ה"</string>
+    <string name="description_call_log_call_button" msgid="8207201401459528442">"התקשר למספר"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"הפעל דואר קולי"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"שיחה נכנסת"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"שיחה יוצאת"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"שיחה שלא נענתה"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"דואר קולי"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"דואר קולי שעדיין לא נשמע"</string>
     <!-- no translation found for call_log_empty_gecode (5588904744812100846) -->
     <skip />
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 0c372cd..3be3ba3 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"連絡先に追加"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"通話履歴から消去"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"通話履歴を全件消去"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"通話履歴なし"</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"通話履歴を消去"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"通話履歴を消去してもよろしいですか?"</string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"再発信"</string>
     <string name="returnCall" msgid="8171961914203617813">"発信"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g>分<xliff:g id="SECONDS">%s</xliff:g>秒"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"よく使う連絡先"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"連絡先を追加"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"<xliff:g id="EMAIL">%s</xliff:g> を連絡先に追加しますか?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"1"</string>
@@ -541,7 +548,6 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"ボイスメールを再生できませんでした"</string>
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"新しい着信"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"以前の着信"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"ボイスメールサーバーに接続できません。"</string>
@@ -555,7 +561,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"通常の速さ"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"速い"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"最も速い"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"グループの名前"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"NFCで受信した連絡先"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"ボイスメールのみ表示"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index ebdea4a..701afc3 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"주소록에 추가"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"통화기록에서 삭제"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"통화기록 지우기"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"통화기록이 없습니다."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"통화 기록 지우기"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"통화 기록을 삭제하시겠습니까?"</string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"다시 걸기"</string>
     <string name="returnCall" msgid="8171961914203617813">"전화 걸기"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g>분 <xliff:g id="SECONDS">%s</xliff:g>초"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"자주 연락하는 사람들의 연락처"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"연락처 추가"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"\'<xliff:g id="EMAIL">%s</xliff:g>\'을(를) 주소록에 추가하겠습니까?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"1"</string>
@@ -541,8 +548,6 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"음성사서함을 재생할 수 없습니다."</string>
-    <!-- no translation found for call_log_type_date_separator (8009466658324061546) -->
-    <skip />
     <string name="call_log_new_header" msgid="846546437517724715">"신규"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"이전"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"음성사서함 서버에 연결할 수 없습니다."</string>
@@ -556,7 +561,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"보통 속도"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"빠른 속도"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"가장 빠른 속도"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"그룹의 이름"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"NFC를 통해 받은 연락처"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"음성사서함만 표시"</string>
diff --git a/res/values-lt-w470dp/strings.xml b/res/values-lt-w470dp/strings.xml
new file mode 100644
index 0000000..8798fea
--- /dev/null
+++ b/res/values-lt-w470dp/strings.xml
@@ -0,0 +1,20 @@
+<?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="recent_updates" msgid="7673783546044751339">"Naujiniai"</string>
+</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 0bad711..9d76931 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -76,8 +76,7 @@
     <string name="deleteConfirmation" msgid="811706994761610640">"Šis adresatas bus ištrintas."</string>
     <string name="menu_done" msgid="796017761764190697">"Atlikta"</string>
     <string name="menu_doNotSave" msgid="58593876893538465">"Atšaukti"</string>
-    <!-- no translation found for menu_discard (6456087569315685632) -->
-    <skip />
+    <string name="menu_discard" msgid="6456087569315685632">"Atmesti"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"Redaguoti adresatą"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"Naujas adresatas"</string>
     <string name="label_phonetic_name" msgid="2288082649573927286">"Fonetinis"</string>
@@ -164,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Pridėti prie adresatų"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Pašalinti iš skambučių žurnalo"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Išvalyti skambučių žurnalą"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Skambučių žurnalas tuščias."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Išvalyti skambučių žurnalą"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Ar tikrai norite išvalyti skambučių žurnalą?"</string>
@@ -206,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Skambinti dar kartą"</string>
     <string name="returnCall" msgid="8171961914203617813">"Grįžtamasis skambutis"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sek."</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Dažnai susisiekiama"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Pridėti adresatą"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Pridėti „<xliff:g id="EMAIL">%s</xliff:g>“ prie adresatų?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"vienas"</string>
@@ -424,10 +430,7 @@
     <!-- no translation found for from_account_format (4469138575127580203) -->
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Naudoti šią nuotrauką"</string>
-    <!-- unknown placeholder SOURCE in contact_read_only -->
-    <skip />
-    <!-- no translation found for contact_read_only (1969214537163492087) -->
-    <skip />
+    <string name="contact_read_only" msgid="1969214537163492087">"Negalima redaguoti šiame įrenginyje"</string>
     <string name="no_contact_details" msgid="6754415338321837001">"Nėra papildomos informacijos apie šį adresatą"</string>
     <!-- no translation found for group_read_only (7924922658394449477) -->
     <skip />
@@ -459,8 +462,7 @@
   </plurals>
     <string name="no_contacts_selected" msgid="5877803471037324613">"Nepasirinkote kontaktų."</string>
     <string name="add_field" msgid="2384260056674995230">"Pridėti kitą lauką"</string>
-    <!-- no translation found for add_new_entry_for_section (5223080690667565044) -->
-    <skip />
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Pridėti naują"</string>
     <string name="contact_status_update_attribution" msgid="752179367353018597">"naudojant „<xliff:g id="SOURCE">%1$s</xliff:g>“"</string>
     <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> naudojant „<xliff:g id="SOURCE">%2$s</xliff:g>“"</string>
     <string name="description_star" msgid="2605854427360036550">"įtraukti į adresyną"</string>
@@ -490,7 +492,7 @@
     <string name="custom_list_filter" msgid="7836035257402013957">"Nustatyti priskirtą rodinį"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Nustatymai"</string>
     <string name="activity_title_contacts_filter" msgid="8275542497615516969">"Pateiktini kontaktai"</string>
-    <!-- outdated translation 377929915873428211 -->     <string name="menu_settings" msgid="1515262535785451190">"Nustatymai"</string>
+    <string name="menu_settings" msgid="1515262535785451190">"Pateikti parinktis"</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="hint_findContacts" msgid="1808681193458772072">"Ieškoti kontaktų"</string>
@@ -513,10 +515,14 @@
     <item quantity="other" msgid="1276758425904917367">"Grupių: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
   </plurals>
     <string name="delete_group_dialog_message" msgid="295063284548750881">"Ar tikrai norite ištrinti „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>“ grupę? (Kontaktai nebus ištrinti.)"</string>
-    <!-- no translation found for num_contacts_in_group:one (1352418549951013448) -->
-    <!-- no translation found for num_contacts_in_group:other (8146027769011086349) -->
-    <!-- no translation found for group_list_num_contacts_in_group:one (3323065321661972446) -->
-    <!-- no translation found for group_list_num_contacts_in_group:other (6251996206137048525) -->
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> asm. 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> asm."</item>
+    <item quantity="other" msgid="6251996206137048525">"<xliff:g id="COUNT">%1$d</xliff:g> žm."</item>
+  </plurals>
     <string name="toast_join_with_empty_contact" msgid="5015189525953438968">"Prieš prisijungdami prie kito kontakto, įveskite kontakto vardą."</string>
     <string name="indicator_joined_contact" msgid="3321049349627022128">"Prijungtas kontaktas"</string>
     <!-- no translation found for copy_text (3257145021583508761) -->
@@ -534,69 +540,42 @@
     <string name="enter_contact_name" msgid="2930510479516059437">"Įveskite kontaktinio asmens vardą ir pavardę"</string>
     <string name="editGroup_title_insert" msgid="7803743109105317959">"Nauja grupė"</string>
     <string name="editGroup_title_edit" msgid="2173278908256913247">"Redaguoti grupę"</string>
-    <!-- no translation found for view_updates_from_group (1782685984905600034) -->
-    <skip />
+    <string name="view_updates_from_group" msgid="1782685984905600034">"Žiūrėti naujinius"</string>
     <!-- no translation found for notification_voicemail_title:one (1746619685488504230) -->
     <!-- no translation found for notification_voicemail_title:other (5513481419205061254) -->
     <!-- no translation found for notification_voicemail_callers_list (1153954809339404149) -->
     <skip />
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
-    <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
-    <skip />
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
+    <string name="voicemail_playback_error" msgid="5128928338910411763">"Nepavyko paleisti balso pašto pranešimo"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Nauji"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Senesni"</string>
-    <!-- no translation found for voicemail_status_voicemail_not_available (3164200979671881947) -->
+    <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Neįmanoma prijungti prie balso pašto serverio."</string>
+    <string name="voicemail_status_messages_waiting" msgid="2970301042310727909">"Neįm. prij. prie bal. pšt. serv. Laukia nauji bal. pšt. pran."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3940240432123700974">"Konfigūruokite balso paštą."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Garsas negalimas."</string>
+    <string name="voicemail_status_action_configure" msgid="7008713959076506385">"Konfigūruoti"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Skamb. į balso pšt."</string>
+    <string name="voicemail_speed_slowest" msgid="6047030504814773029">"mažiausias greitis"</string>
+    <string name="voicemail_speed_slower" msgid="7890393922358642543">"mažas greitis"</string>
+    <string name="voicemail_speed_normal" msgid="6030110237820243006">"normalus greitis"</string>
+    <string name="voicemail_speed_faster" msgid="4161478290979905481">"didelis greitis"</string>
+    <string name="voicemail_speed_fastest" msgid="3373646875150544205">"didžiausias greitis"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
-    <!-- no translation found for voicemail_status_messages_waiting (2970301042310727909) -->
-    <skip />
-    <!-- no translation found for voicemail_status_configure_voicemail (3940240432123700974) -->
-    <skip />
-    <!-- no translation found for voicemail_status_audio_not_available (3369618334553341626) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_configure (7008713959076506385) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_call_server (1824816252288551794) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slowest (6047030504814773029) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slower (7890393922358642543) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_normal (6030110237820243006) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_faster (4161478290979905481) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
-    <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
-    <skip />
-    <!-- no translation found for group_name_hint (2659811836386413509) -->
-    <skip />
-    <!-- no translation found for nfc_vcard_file_name (2823095213265993609) -->
-    <skip />
-    <!-- no translation found for menu_show_voicemails_only (1898421289561435703) -->
-    <skip />
-    <!-- no translation found for status_available (5586870015822828392) -->
-    <skip />
-    <!-- no translation found for status_away (1838861100379804730) -->
-    <skip />
-    <!-- no translation found for status_busy (9147992455450257136) -->
-    <skip />
-    <!-- no translation found for description_call_log_call_button (8207201401459528442) -->
-    <skip />
-    <!-- no translation found for description_call_log_play_button (651182125650429846) -->
-    <skip />
-    <!-- no translation found for description_call_log_incoming_call (4485427487637250143) -->
-    <skip />
-    <!-- no translation found for description_call_log_outgoing_call (604831756853471658) -->
-    <skip />
-    <!-- no translation found for description_call_log_missed_call (2242805209983708825) -->
-    <skip />
-    <!-- no translation found for description_call_log_voicemail (4600798771975158948) -->
-    <skip />
-    <!-- no translation found for description_call_log_unheard_voicemail (118101684236996786) -->
-    <skip />
+    <string name="group_name_hint" msgid="2659811836386413509">"Grupės pavadinimas"</string>
+    <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Kont. gautas per ALR"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Rodyti tik balso pšt. praneš."</string>
+    <string name="status_available" msgid="5586870015822828392">"Pasiekiama"</string>
+    <string name="status_away" msgid="1838861100379804730">"Pasišalinęs"</string>
+    <string name="status_busy" msgid="9147992455450257136">"Užsiėmęs"</string>
+    <string name="description_call_log_call_button" msgid="8207201401459528442">"Skambinti numeriu"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Paleisti balso paštą"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Gaunamasis skambutis"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Siunčiamasis skambutis"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Praleistas skambutis"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Balso paštas"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Neklausytas balso paštas"</string>
     <!-- no translation found for call_log_empty_gecode (5588904744812100846) -->
     <skip />
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index d6bdd52..e8fae81 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Pievienot kontaktpersonām"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Noņemt no zvanu žurnāla"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Notīrīt zvanu žurnālu"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Zvanu žurnāls ir tukšs."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Notīrīt zvanu žurnālu"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Vai tiešām vēlaties notīrīt zvanu žurnālu?"</string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Zvanīt vēlreiz"</string>
     <string name="returnCall" msgid="8171961914203617813">"Atzvanīt"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Bieža komunikācija"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Pievienot kontaktpersonu"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Vai pievienot “<xliff:g id="EMAIL">%s</xliff:g>” kontaktpersonām?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"viens"</string>
@@ -541,7 +548,6 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"Nevarēja atskaņot balss pasta ziņojumu."</string>
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Jauns"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Vecāki"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Nevar izveidot savienojumu ar balss pasta serveri."</string>
@@ -555,7 +561,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"parasts ātrums"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"liels ātrums"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"lielākais ātrums"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"Grupas nosaukums"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"No NFC saņ. kontaktinf."</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Rādīt tikai b. pasta ziņojumus"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 1508a1a..cd6e42f 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Tambah ke kenalan"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Alih keluar daripada log panggilan"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Padam bersih log panggilan"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Log panggilan kosong."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Padam bersih log panggilan"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Adakah anda pasti mahu memadam bersih log panggilan?"</string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Panggil semula"</string>
     <string name="returnCall" msgid="8171961914203617813">"Balas panggilan"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> saat"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Kerap dihubungi"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Tambah kenalan"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Tambah \"<xliff:g id="EMAIL">%s</xliff:g>\" kepada kenalan?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"satu"</string>
@@ -221,7 +228,7 @@
     <string name="description_image_button_zero" msgid="4133108949401820710">"sifar"</string>
     <string name="description_image_button_pound" msgid="3039765597595889230">"paun"</string>
     <string name="description_voicemail_button" msgid="3402506823655455591">"mel suara"</string>
-    <string name="description_search_button" msgid="3660807558587384889">"carian"</string>
+    <string name="description_search_button" msgid="3660807558587384889">"cari"</string>
     <string name="description_dial_button" msgid="1274091017188142646">"dail"</string>
     <string name="description_delete_button" msgid="6263102114033407382">"undur ruang"</string>
     <string name="description_digits_edittext" msgid="8760207516497016437">"nombor untuk didail"</string>
@@ -301,8 +308,7 @@
     <string name="add_2sec_pause" msgid="9214012315201040129">"Tambah jeda 2 saat"</string>
     <string name="add_wait" msgid="3360818652790319634">"Tambah penungguan"</string>
     <string name="call_disambig_title" msgid="1911302597959335178">"Panggil menggunakan"</string>
-    <!-- no translation found for call_settings (5009897887137674341) -->
-    <skip />
+    <string name="call_settings" msgid="5009897887137674341">"Tetapan panggilan"</string>
     <string name="sms_disambig_title" msgid="4675399294513152364">"SMS menggunakan"</string>
     <string name="make_primary" msgid="5829291915305113983">"Ingat pilihan ini"</string>
     <string name="quickcontact_missing_app" msgid="4600366393134289038">"Tidak menemui aplikasi untuk mengendalikan tindakan ini"</string>
@@ -542,8 +548,6 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"Tidak boleh memainkan mel suara"</string>
-    <!-- no translation found for call_log_type_date_separator (8009466658324061546) -->
-    <skip />
     <string name="call_log_new_header" msgid="846546437517724715">"Baru"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Lebih lama"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Tidak boleh bersambung kepada pelayan mel suara."</string>
@@ -557,7 +561,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"kelajuan biasa"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"kelajuan pantas"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"kelajuan paling pantas"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"Nama Kumpulan"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Knln melalui NFC"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Tunjukkan mel suara sahaja"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 9fc6205..62f74ed 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Legg til kontakter"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Fjern fra anropslogg"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Tøm anropslogg"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Anropsloggen er tom."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Tøm samtalelogg"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Er du sikker på at du vil tømme samtaleloggen?"</string>
@@ -179,12 +183,12 @@
     <string name="simContacts_title" msgid="27341688347689769">"Kontakter på SIM-kort"</string>
     <string name="noContactsHelpTextWithSyncForCreateShortcut" msgid="801504710275614594">"Du har ingen kontakter å vise. (Hvis du nettopp har lagt til en konto, kan det ta noen minutter å synkronisere kontaktene.)"</string>
     <string name="noContactsHelpTextForCreateShortcut" msgid="3081286388667108335">"Du har ingen kontakter å vise."</string>
-    <!-- syntax error in translation for noContactsHelpText (6450346791169710787) org.xmlpull.v1.XmlPullParserException: expected: /li read: font (position:END_TAG </font>@1:292 in java.io.StringReader@5ed70d7a)  -->
-    <!-- syntax error in translation for noContactsHelpText (7633826236417884130) org.xmlpull.v1.XmlPullParserException: expected: /li read: font (position:END_TAG </font>@1:293 in java.io.StringReader@78b5f53a)  -->
+    <!-- syntax error in translation for noContactsHelpText (6450346791169710787) org.xmlpull.v1.XmlPullParserException: expected: /li read: font (position:END_TAG </font>@1:292 in java.io.StringReader@4650d89c)  -->
+    <!-- syntax error in translation for noContactsHelpText (7633826236417884130) org.xmlpull.v1.XmlPullParserException: expected: /li read: font (position:END_TAG </font>@1:293 in java.io.StringReader@65bd0dd4)  -->
     <string name="noContactsHelpTextWithSync" product="tablet" msgid="2364665535969139880">"Du har ingen kontakter å vise. (Hvis du nylig la til en konto, kan det ta noen minutter å synkronisere kontaktene.)"\n\n"Slik legger du til kontakter: Trykk på "<font fgcolor="#ffffffff"><b>"Meny"</b></font>", og trykk deretter på:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Kontoer"</b></font>" for å legge til eller konfigurere en konto med kontakter som kan synkroniseres til nettbrettet"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Visningsalternativer"</b></font>" for å endre hvilke kontakter som vises"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Ny kontakt"</b></font>" for å opprette en ny kontakt fra grunnen av"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importer/Eksporter"</b></font>" for å importere kontakter fra SIM- eller SD-kort"\n</li></string>
     <string name="noContactsHelpTextWithSync" product="default" msgid="3017521127042216243">"Du har ingen kontakter å vise. (Hvis du nylig la til en konto, kan det ta noen minutter å synkronisere kontaktene.)"\n\n"Slik legger du til kontakter: Trykk på "<font fgcolor="#ffffffff"><b>"Meny"</b></font>" og trykk deretter på: "\n" "\n<li><font fgcolor="#ffffffff"><b>"Kontoer "</b></font>" for å legge til eller konfigurere en konto med kontakter som kan synkroniseres til telefonen"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Visningsalternativer"</b></font>" for å endre hvilke kontakter som vises"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Ny kontakt"</b></font>" for å opprette en ny kontakt"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importér/Eksportér"</b></font>" for å importere kontakter fra SIM- eller SD-kort"\n</li></string>
-    <!-- syntax error in translation for noContactsNoSimHelpText (6031363021287849874) org.xmlpull.v1.XmlPullParserException: expected: /li read: font (position:END_TAG </font>@1:297 in java.io.StringReader@7aab853b)  -->
-    <!-- syntax error in translation for noContactsNoSimHelpText (467658807711582876) org.xmlpull.v1.XmlPullParserException: expected: /li read: font (position:END_TAG </font>@1:297 in java.io.StringReader@12b82368)  -->
+    <!-- syntax error in translation for noContactsNoSimHelpText (6031363021287849874) org.xmlpull.v1.XmlPullParserException: expected: /li read: font (position:END_TAG </font>@1:297 in java.io.StringReader@71f6f0bf)  -->
+    <!-- syntax error in translation for noContactsNoSimHelpText (467658807711582876) org.xmlpull.v1.XmlPullParserException: expected: /li read: font (position:END_TAG </font>@1:297 in java.io.StringReader@b37c60d)  -->
     <string name="noContactsNoSimHelpTextWithSync" product="tablet" msgid="6222739731808897565">"Du har ingen kontakter å vise. (Hvis du nylig la til en konto, kan det ta noen minutter å synkronisere kontaktene.)"\n\n"Slik legger du til kontakter: Trykk på "<font fgcolor="#ffffffff"><b>"Meny"</b></font>", og trykk deretter på: "\n" "\n<li><font fgcolor="#ffffffff"><b>"Kontoer"</b></font>" for å legge til eller konfigurere en konto med kontakter som kan synkroniseres til nettbrettet"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Visningsalternativer"</b></font>" for å endre hvilke kontakter som vises"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Ny kontakt"</b></font>" for å opprette en ny kontakt fra grunnen av"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importer/eksporter"</b></font>" for å importere kontakter fra SD-kortet"\n</li></string>
     <string name="noContactsNoSimHelpTextWithSync" product="default" msgid="9040060730467973050">"Du har ingen kontakter å vise. (Hvis du nylig la til en konto, kan det ta noen minutter å synkronisere kontaktene.)"\n\n"Slik legger du til kontakter: Trykk på "<font fgcolor="#ffffffff"><b>"Meny"</b></font>" og trykk deretter på: "\n" "\n<li><font fgcolor="#ffffffff"><b>"Kontoer "</b></font>" for å legge til eller konfigurere en konto med kontakter som kan synkroniseres til telefonen"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Visningsalternativer"</b></font>" for å endre hvilke kontakter som vises"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Ny kontakt"</b></font>" for å opprette en ny kontakt"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Importér/eksportér"</b></font>" for å importere kontakter fra SD-kortet"\n</li></string>
     <string name="noFavoritesHelpText" msgid="3744655776704833277">"Du har ingen favoritter."\n\n"Slik legger du til en kontakt i favorittlisten:"\n\n" "<li>"Trykk på fanen "<b>"Kontakter"</b>" "\n</li>" "\n<li>"Trykk på kontakten du vil legge til i favoritter"\n</li>" "\n<li>"Trykk på stjernen ved siden av kontaktnavnet"\n</li></string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Ring på nytt"</string>
     <string name="returnCall" msgid="8171961914203617813">"Ring tilbake"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> sek"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Ofte kontaktet"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Legg til kontakt"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Legg til «<xliff:g id="EMAIL">%s</xliff:g>» som kontakt?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"en"</string>
@@ -541,9 +548,7 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"Kan ikke spille av talepost"</string>
-    <!-- no translation found for call_log_type_date_separator (8009466658324061546) -->
-    <skip />
-    <string name="call_log_new_header" msgid="846546437517724715">"Nyhet"</string>
+    <string name="call_log_new_header" msgid="846546437517724715">"Nytt"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Eldre"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Kan ikke koble til taleposttjener."</string>
     <string name="voicemail_status_messages_waiting" msgid="2970301042310727909">"Kan ikke koble til taleposttjener. Nye talemeldinger venter."</string>
@@ -556,7 +561,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"normal hastighet"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"høy hastighet"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"raskeste hastighet"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"Gruppens navn"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Kontakt mottatt per NFC"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Vis bare talemeldinger"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 8222c2d..ca2e7fd 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Toevoegen aan contacten"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Verwijderen uit Gesprekken"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Gesprekken wissen"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Gesprekken is leeg"</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Oproeplogboek wissen"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Weet u zeker dat u het oproeplogboek wilt wissen?"</string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Opnieuw bellen"</string>
     <string name="returnCall" msgid="8171961914203617813">"Terugbellen"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> sec."</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Regelmatig contact"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Contact toevoegen"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Voeg \"<xliff:g id="EMAIL">%s</xliff:g>\" toe aan contactpersonen?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"één"</string>
@@ -541,7 +548,6 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"Kan voicemail niet afspelen"</string>
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Nieuw"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Ouder"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Kan geen verbinding maken met de voicemailserver."</string>
@@ -555,7 +561,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"normale snelheid"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"hoge snelheid"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"hoogste snelheid"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"Naam groep"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Contact via NFC"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Alleen voicemails weergeven"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index ffaa9a6..068d356 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Dodaj do kontaktów"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Usuń z rejestru połączeń"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Wyczyść rejestr połączeń"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Rejestr połączeń jest pusty."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Wyczyść rejestr połączeń"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Czy na pewno chcesz wyczyścić rejestr połączeń?"</string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Zadzwoń ponownie"</string>
     <string name="returnCall" msgid="8171961914203617813">"Połączenie zwrotne"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Częste kontakty"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Dodaj kontakt"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Czy dodać adres „<xliff:g id="EMAIL">%s</xliff:g>” do kontaktów?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"jeden"</string>
@@ -541,7 +548,6 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"Nie udało się odtworzyć poczty głosowej"</string>
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Nowe"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Starsze"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Nie można połączyć z serwerem poczty głosowej."</string>
@@ -555,7 +561,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"normalnie"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"szybko"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"najszybciej"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"Nazwa grupy"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Odebr. przez NFC"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Pokaż tylko pocztę głosową"</string>
diff --git a/res/values-pt-rPT-w470dp/strings.xml b/res/values-pt-rPT-w470dp/strings.xml
new file mode 100644
index 0000000..2afa3ce
--- /dev/null
+++ b/res/values-pt-rPT-w470dp/strings.xml
@@ -0,0 +1,20 @@
+<?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="recent_updates" msgid="7673783546044751339">"Atualizações"</string>
+</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 7720eb3..1badd27 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -77,8 +77,7 @@
     <string name="deleteConfirmation" msgid="811706994761610640">"Este contacto será eliminado."</string>
     <string name="menu_done" msgid="796017761764190697">"Concluído"</string>
     <string name="menu_doNotSave" msgid="58593876893538465">"Cancelar"</string>
-    <!-- no translation found for menu_discard (6456087569315685632) -->
-    <skip />
+    <string name="menu_discard" msgid="6456087569315685632">"Rejeitar"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"Editar contacto"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"Novo contacto"</string>
     <string name="label_phonetic_name" msgid="2288082649573927286">"Fonético"</string>
@@ -165,6 +164,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Adicionar aos contactos"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Remover do registo de chamadas"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Limpar registo de chamadas"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"O registo de chamadas está vazio."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Limpar registo de chamadas"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Tem a certeza de que pretende limpar o registo de chamadas?"</string>
@@ -207,7 +210,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Ligar novamente"</string>
     <string name="returnCall" msgid="8171961914203617813">"Devolver chamada"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> seg"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Contactos frequentes"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Adicionar contacto"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Adicionar \"<xliff:g id="EMAIL">%s</xliff:g>\" aos contactos?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"um"</string>
@@ -425,10 +431,7 @@
     <!-- no translation found for from_account_format (4469138575127580203) -->
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Utilizar esta fotografia"</string>
-    <!-- unknown placeholder SOURCE in contact_read_only -->
-    <skip />
-    <!-- no translation found for contact_read_only (1969214537163492087) -->
-    <skip />
+    <string name="contact_read_only" msgid="1969214537163492087">"Não editável neste aparelho"</string>
     <string name="no_contact_details" msgid="6754415338321837001">"Não há informações adicionais para este contacto"</string>
     <!-- no translation found for group_read_only (7924922658394449477) -->
     <skip />
@@ -460,8 +463,7 @@
   </plurals>
     <string name="no_contacts_selected" msgid="5877803471037324613">"Nenhum contacto seleccionado."</string>
     <string name="add_field" msgid="2384260056674995230">"Adicionar outro campo"</string>
-    <!-- no translation found for add_new_entry_for_section (5223080690667565044) -->
-    <skip />
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Adicionar novo"</string>
     <string name="contact_status_update_attribution" msgid="752179367353018597">"através do <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
     <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> através do <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"favorito"</string>
@@ -491,7 +493,7 @@
     <string name="custom_list_filter" msgid="7836035257402013957">"Definir vista personalizada"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Definições"</string>
     <string name="activity_title_contacts_filter" msgid="8275542497615516969">"Contactos a apresentar"</string>
-    <!-- outdated translation 377929915873428211 -->     <string name="menu_settings" msgid="1515262535785451190">"Definições"</string>
+    <string name="menu_settings" msgid="1515262535785451190">"Opções de Visualização"</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="hint_findContacts" msgid="1808681193458772072">"Localizar contactos"</string>
@@ -514,10 +516,14 @@
     <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grupos"</item>
   </plurals>
     <string name="delete_group_dialog_message" msgid="295063284548750881">"Tem a certeza de que pretende eliminar o grupo \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? (Os contactos não serão eliminados.)"</string>
-    <!-- no translation found for num_contacts_in_group:one (1352418549951013448) -->
-    <!-- no translation found for num_contacts_in_group:other (8146027769011086349) -->
-    <!-- no translation found for group_list_num_contacts_in_group:one (3323065321661972446) -->
-    <!-- no translation found for group_list_num_contacts_in_group:other (6251996206137048525) -->
+  <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>
     <string name="toast_join_with_empty_contact" msgid="5015189525953438968">"Introduza o nome do contacto antes de juntar a outro contacto."</string>
     <string name="indicator_joined_contact" msgid="3321049349627022128">"Contacto associado"</string>
     <!-- no translation found for copy_text (3257145021583508761) -->
@@ -535,69 +541,42 @@
     <string name="enter_contact_name" msgid="2930510479516059437">"Introduza o nome do contacto"</string>
     <string name="editGroup_title_insert" msgid="7803743109105317959">"Novo grupo"</string>
     <string name="editGroup_title_edit" msgid="2173278908256913247">"Editar grupo"</string>
-    <!-- no translation found for view_updates_from_group (1782685984905600034) -->
-    <skip />
+    <string name="view_updates_from_group" msgid="1782685984905600034">"Ver atualizações"</string>
     <!-- no translation found for notification_voicemail_title:one (1746619685488504230) -->
     <!-- no translation found for notification_voicemail_title:other (5513481419205061254) -->
     <!-- no translation found for notification_voicemail_callers_list (1153954809339404149) -->
     <skip />
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
-    <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
-    <skip />
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
+    <string name="voicemail_playback_error" msgid="5128928338910411763">"Não foi possível reproduzir o correio de voz"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Novo"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"+ antigo"</string>
-    <!-- no translation found for voicemail_status_voicemail_not_available (3164200979671881947) -->
+    <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Não é possível ligar ao servidor de correio de voz."</string>
+    <string name="voicemail_status_messages_waiting" msgid="2970301042310727909">"Não é possível ligar ao serv. corr. voz. Novas msgs à espera."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3940240432123700974">"Configure o seu correio de voz."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"O áudio não está disponível."</string>
+    <string name="voicemail_status_action_configure" msgid="7008713959076506385">"Configurar"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Chamar correio de voz"</string>
+    <string name="voicemail_speed_slowest" msgid="6047030504814773029">"velocidade mais lenta"</string>
+    <string name="voicemail_speed_slower" msgid="7890393922358642543">"velocidade reduzida"</string>
+    <string name="voicemail_speed_normal" msgid="6030110237820243006">"velocidade normal"</string>
+    <string name="voicemail_speed_faster" msgid="4161478290979905481">"velocidade rápida"</string>
+    <string name="voicemail_speed_fastest" msgid="3373646875150544205">"velocidade mais rápida"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
-    <!-- no translation found for voicemail_status_messages_waiting (2970301042310727909) -->
-    <skip />
-    <!-- no translation found for voicemail_status_configure_voicemail (3940240432123700974) -->
-    <skip />
-    <!-- no translation found for voicemail_status_audio_not_available (3369618334553341626) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_configure (7008713959076506385) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_call_server (1824816252288551794) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slowest (6047030504814773029) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slower (7890393922358642543) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_normal (6030110237820243006) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_faster (4161478290979905481) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
-    <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
-    <skip />
-    <!-- no translation found for group_name_hint (2659811836386413509) -->
-    <skip />
-    <!-- no translation found for nfc_vcard_file_name (2823095213265993609) -->
-    <skip />
-    <!-- no translation found for menu_show_voicemails_only (1898421289561435703) -->
-    <skip />
-    <!-- no translation found for status_available (5586870015822828392) -->
-    <skip />
-    <!-- no translation found for status_away (1838861100379804730) -->
-    <skip />
-    <!-- no translation found for status_busy (9147992455450257136) -->
-    <skip />
-    <!-- no translation found for description_call_log_call_button (8207201401459528442) -->
-    <skip />
-    <!-- no translation found for description_call_log_play_button (651182125650429846) -->
-    <skip />
-    <!-- no translation found for description_call_log_incoming_call (4485427487637250143) -->
-    <skip />
-    <!-- no translation found for description_call_log_outgoing_call (604831756853471658) -->
-    <skip />
-    <!-- no translation found for description_call_log_missed_call (2242805209983708825) -->
-    <skip />
-    <!-- no translation found for description_call_log_voicemail (4600798771975158948) -->
-    <skip />
-    <!-- no translation found for description_call_log_unheard_voicemail (118101684236996786) -->
-    <skip />
+    <string name="group_name_hint" msgid="2659811836386413509">"Nome do Grupo"</string>
+    <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Contacto recebido através de NFC"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Mostrar apenas msgs corr. voz"</string>
+    <string name="status_available" msgid="5586870015822828392">"Disponível"</string>
+    <string name="status_away" msgid="1838861100379804730">"Ausente"</string>
+    <string name="status_busy" msgid="9147992455450257136">"Ocupado"</string>
+    <string name="description_call_log_call_button" msgid="8207201401459528442">"Número da chamada"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Reproduzir mensagem de correio de voz"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Chamada recebida"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Chamada efetuada"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Chamada não atendida"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Correio de voz"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Mensagem de correio de voz ainda não ouvida"</string>
     <!-- no translation found for call_log_empty_gecode (5588904744812100846) -->
     <skip />
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 6a71e93..5ccc9a8 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Adicionar aos contatos"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Remover do registro de chamadas"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Limpar registro de chamadas"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"O registro de chamadas está vazio."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Limpar registro de chamadas"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Tem certeza de que deseja limpar o registro de chamadas?"</string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Chamar novamente"</string>
     <string name="returnCall" msgid="8171961914203617813">"Retornar chamada"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min. <xliff:g id="SECONDS">%s</xliff:g> s"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Chamados frequentemente"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Adicionar contato"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Adicionar \"<xliff:g id="EMAIL">%s</xliff:g>\" aos contatos?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"um"</string>
@@ -541,7 +548,6 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"Não foi possível reproduzir a mensagem de voz"</string>
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Novas"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Antigas"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Não é possível conectar ao servidor de correio de voz."</string>
@@ -555,7 +561,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"velocidade normal"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"velocidade rápida"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"velocidade mais rápida"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"Nome do grupo"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Contato via NFC"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Exibir apenas mensagens de voz"</string>
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
index 477c4de..e8298d3 100644
--- a/res/values-rm/strings.xml
+++ b/res/values-rm/strings.xml
@@ -183,6 +183,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Agiuntar als contacts"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Allontanar da la glista da cloms"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Stizzar la glista da cloms"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"La glista da cloms e vida"</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Stizzar il protocol da cloms"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Vulais Vus propi stizzar il protocol da cloms?"</string>
@@ -227,7 +231,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Telefonar anc ina giada"</string>
     <string name="returnCall" msgid="8171961914203617813">"Telefonar enavos"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> sec"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Contactà savens"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Agiuntar in contact"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Agiuntar «<xliff:g id="EMAIL">%s</xliff:g>» als contacts?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"in"</string>
@@ -650,8 +657,6 @@
     <skip />
     <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
     <skip />
-    <!-- no translation found for call_log_type_date_separator (8009466658324061546) -->
-    <skip />
     <!-- no translation found for call_log_new_header (846546437517724715) -->
     <skip />
     <!-- no translation found for call_log_old_header (6262205894314263629) -->
@@ -678,7 +683,7 @@
     <skip />
     <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
     <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
     <!-- no translation found for group_name_hint (2659811836386413509) -->
     <skip />
diff --git a/res/values-ro-w470dp/strings.xml b/res/values-ro-w470dp/strings.xml
new file mode 100644
index 0000000..5d2c447
--- /dev/null
+++ b/res/values-ro-w470dp/strings.xml
@@ -0,0 +1,20 @@
+<?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="recent_updates" msgid="7673783546044751339">"Actualizări"</string>
+</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index a7da905..a2d4214 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -76,8 +76,7 @@
     <string name="deleteConfirmation" msgid="811706994761610640">"Această persoană va fi ştearsă din agendă."</string>
     <string name="menu_done" msgid="796017761764190697">"Terminat"</string>
     <string name="menu_doNotSave" msgid="58593876893538465">"Anulaţi"</string>
-    <!-- no translation found for menu_discard (6456087569315685632) -->
-    <skip />
+    <string name="menu_discard" msgid="6456087569315685632">"Renunţaţi"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"Modificaţi informaţiile despre persoana din agendă"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"Persoană nouă în agendă"</string>
     <string name="label_phonetic_name" msgid="2288082649573927286">"Fonetic"</string>
@@ -164,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Adăugaţi la persoane din agendă"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Eliminaţi din jurnalul de apeluri"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Ştergeţi jurnalul de apeluri"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Jurnalul de apeluri este gol."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Ştergeţi jurnalul de apeluri"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Sigur doriţi ştergerea jurnalului de apeluri?"</string>
@@ -206,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Apelaţi din nou"</string>
     <string name="returnCall" msgid="8171961914203617813">"Apelaţi înapoi"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> m <xliff:g id="SECONDS">%s</xliff:g> s"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Frecvent contactate"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Adăugaţi o persoană în agendă"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Adăugaţi „<xliff:g id="EMAIL">%s</xliff:g>” la persoanele din agendă?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"unu"</string>
@@ -424,10 +430,7 @@
     <!-- no translation found for from_account_format (4469138575127580203) -->
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Utilizaţi această fotografie"</string>
-    <!-- unknown placeholder SOURCE in contact_read_only -->
-    <skip />
-    <!-- no translation found for contact_read_only (1969214537163492087) -->
-    <skip />
+    <string name="contact_read_only" msgid="1969214537163492087">"Nu poate fi editat pe acest dispozitiv"</string>
     <string name="no_contact_details" msgid="6754415338321837001">"Nicio informaţie suplimentară pentru această persoană din agendă"</string>
     <!-- no translation found for group_read_only (7924922658394449477) -->
     <skip />
@@ -459,8 +462,7 @@
   </plurals>
     <string name="no_contacts_selected" msgid="5877803471037324613">"Nu aţi selectat nicio persoană din Agendă."</string>
     <string name="add_field" msgid="2384260056674995230">"Adăugaţi alt câmp"</string>
-    <!-- no translation found for add_new_entry_for_section (5223080690667565044) -->
-    <skip />
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Adăugaţi intrare nouă"</string>
     <string name="contact_status_update_attribution" msgid="752179367353018597">"de pe <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
     <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"La ora <xliff:g id="DATE">%1$s</xliff:g> de pe <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"preferate"</string>
@@ -490,7 +492,7 @@
     <string name="custom_list_filter" msgid="7836035257402013957">"Definiţi afişarea personalizată"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Setări"</string>
     <string name="activity_title_contacts_filter" msgid="8275542497615516969">"Pers. din agendă de afiş."</string>
-    <!-- outdated translation 377929915873428211 -->     <string name="menu_settings" msgid="1515262535785451190">"Setări"</string>
+    <string name="menu_settings" msgid="1515262535785451190">"Opţiuni de afişare"</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="hint_findContacts" msgid="1808681193458772072">"Găsiţi persoane din agendă"</string>
@@ -513,10 +515,14 @@
     <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> (de) grupuri"</item>
   </plurals>
     <string name="delete_group_dialog_message" msgid="295063284548750881">"Sunteţi sigur(ă) că doriţi să ştergeţi grupul „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>”? (Agenda nu va fi ştearsă.)"</string>
-    <!-- no translation found for num_contacts_in_group:one (1352418549951013448) -->
-    <!-- no translation found for num_contacts_in_group:other (8146027769011086349) -->
-    <!-- no translation found for group_list_num_contacts_in_group:one (3323065321661972446) -->
-    <!-- no translation found for group_list_num_contacts_in_group:other (6251996206137048525) -->
+  <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>
     <string name="toast_join_with_empty_contact" msgid="5015189525953438968">"Introduceţi un nume pentru intrarea din agendă înainte de îmbinarea cu altă intrare."</string>
     <string name="indicator_joined_contact" msgid="3321049349627022128">"Intrare în agendă îmbinată"</string>
     <!-- no translation found for copy_text (3257145021583508761) -->
@@ -534,69 +540,42 @@
     <string name="enter_contact_name" msgid="2930510479516059437">"Introduceţi numele persoanei din Agendă"</string>
     <string name="editGroup_title_insert" msgid="7803743109105317959">"Grup nou"</string>
     <string name="editGroup_title_edit" msgid="2173278908256913247">"Editaţi grupul"</string>
-    <!-- no translation found for view_updates_from_group (1782685984905600034) -->
-    <skip />
+    <string name="view_updates_from_group" msgid="1782685984905600034">"Afişaţi actualizări"</string>
     <!-- no translation found for notification_voicemail_title:one (1746619685488504230) -->
     <!-- no translation found for notification_voicemail_title:other (5513481419205061254) -->
     <!-- no translation found for notification_voicemail_callers_list (1153954809339404149) -->
     <skip />
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
-    <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
-    <skip />
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
+    <string name="voicemail_playback_error" msgid="5128928338910411763">"Nu se poate reda mesageria vocală"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Noi"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Mai vechi"</string>
-    <!-- no translation found for voicemail_status_voicemail_not_available (3164200979671881947) -->
+    <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Nu se poate realiza conectarea la serverul de mesagerie vocală."</string>
+    <string name="voicemail_status_messages_waiting" msgid="2970301042310727909">"Conect. impos. la serv. de mes. voc. Mes. vocale noi în aştept."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3940240432123700974">"Configuraţi mesageria vocală."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Componenta audio nu este disponibilă."</string>
+    <string name="voicemail_status_action_configure" msgid="7008713959076506385">"Configuraţi"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Apel. mesag. vocală"</string>
+    <string name="voicemail_speed_slowest" msgid="6047030504814773029">"viteză minimă"</string>
+    <string name="voicemail_speed_slower" msgid="7890393922358642543">"viteză redusă"</string>
+    <string name="voicemail_speed_normal" msgid="6030110237820243006">"viteză normală"</string>
+    <string name="voicemail_speed_faster" msgid="4161478290979905481">"viteză crescută"</string>
+    <string name="voicemail_speed_fastest" msgid="3373646875150544205">"viteză maximă"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
-    <!-- no translation found for voicemail_status_messages_waiting (2970301042310727909) -->
-    <skip />
-    <!-- no translation found for voicemail_status_configure_voicemail (3940240432123700974) -->
-    <skip />
-    <!-- no translation found for voicemail_status_audio_not_available (3369618334553341626) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_configure (7008713959076506385) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_call_server (1824816252288551794) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slowest (6047030504814773029) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slower (7890393922358642543) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_normal (6030110237820243006) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_faster (4161478290979905481) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
-    <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
-    <skip />
-    <!-- no translation found for group_name_hint (2659811836386413509) -->
-    <skip />
-    <!-- no translation found for nfc_vcard_file_name (2823095213265993609) -->
-    <skip />
-    <!-- no translation found for menu_show_voicemails_only (1898421289561435703) -->
-    <skip />
-    <!-- no translation found for status_available (5586870015822828392) -->
-    <skip />
-    <!-- no translation found for status_away (1838861100379804730) -->
-    <skip />
-    <!-- no translation found for status_busy (9147992455450257136) -->
-    <skip />
-    <!-- no translation found for description_call_log_call_button (8207201401459528442) -->
-    <skip />
-    <!-- no translation found for description_call_log_play_button (651182125650429846) -->
-    <skip />
-    <!-- no translation found for description_call_log_incoming_call (4485427487637250143) -->
-    <skip />
-    <!-- no translation found for description_call_log_outgoing_call (604831756853471658) -->
-    <skip />
-    <!-- no translation found for description_call_log_missed_call (2242805209983708825) -->
-    <skip />
-    <!-- no translation found for description_call_log_voicemail (4600798771975158948) -->
-    <skip />
-    <!-- no translation found for description_call_log_unheard_voicemail (118101684236996786) -->
-    <skip />
+    <string name="group_name_hint" msgid="2659811836386413509">"Numele grupului"</string>
+    <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Cont.prim.pr.NFC"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Afişaţi numai mesaje vocale"</string>
+    <string name="status_available" msgid="5586870015822828392">"Disponibil(ă)"</string>
+    <string name="status_away" msgid="1838861100379804730">"Plecat(ă)"</string>
+    <string name="status_busy" msgid="9147992455450257136">"Ocupat(ă)"</string>
+    <string name="description_call_log_call_button" msgid="8207201401459528442">"Apelaţi numărul"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Redaţi mesajele vocale"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Apel de intrare"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Apel de ieşire"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Apel nepreluat"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Mesaj vocal"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Mesaje vocale neascultate"</string>
     <!-- no translation found for call_log_empty_gecode (5588904744812100846) -->
     <skip />
 </resources>
diff --git a/res/values-ru-w470dp/strings.xml b/res/values-ru-w470dp/strings.xml
new file mode 100644
index 0000000..de1c5ae
--- /dev/null
+++ b/res/values-ru-w470dp/strings.xml
@@ -0,0 +1,20 @@
+<?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="recent_updates" msgid="7673783546044751339">"Обновления"</string>
+</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index e590dc3..2ab1d82 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -76,8 +76,7 @@
     <string name="deleteConfirmation" msgid="811706994761610640">"Этот контакт будет удален."</string>
     <string name="menu_done" msgid="796017761764190697">"Готово"</string>
     <string name="menu_doNotSave" msgid="58593876893538465">"Отмена"</string>
-    <!-- no translation found for menu_discard (6456087569315685632) -->
-    <skip />
+    <string name="menu_discard" msgid="6456087569315685632">"Отменить"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"Изменить контакт"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"Новый контакт"</string>
     <string name="label_phonetic_name" msgid="2288082649573927286">"Произношение"</string>
@@ -164,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Добавить в контакты"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Удалить из списка вызовов"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Очистить список вызовов"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Список вызовов пуст."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Очистить список вызовов"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Действительно очистить список вызовов?"</string>
@@ -206,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Позвонить снова"</string>
     <string name="returnCall" msgid="8171961914203617813">"Перезвонить"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g>:<xliff:g id="SECONDS">%s</xliff:g>"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Часто набираемые"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Добавить контакт"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Добавить в контакты <xliff:g id="EMAIL">%s</xliff:g>?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"один"</string>
@@ -424,10 +430,7 @@
     <!-- no translation found for from_account_format (4469138575127580203) -->
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Использовать эту фотографию"</string>
-    <!-- unknown placeholder SOURCE in contact_read_only -->
-    <skip />
-    <!-- no translation found for contact_read_only (1969214537163492087) -->
-    <skip />
+    <string name="contact_read_only" msgid="1969214537163492087">"Данные доступны только для чтения"</string>
     <string name="no_contact_details" msgid="6754415338321837001">"Отсутствует дополнительная информация об этом контакте."</string>
     <!-- no translation found for group_read_only (7924922658394449477) -->
     <skip />
@@ -459,8 +462,7 @@
   </plurals>
     <string name="no_contacts_selected" msgid="5877803471037324613">"Контакты не выбраны."</string>
     <string name="add_field" msgid="2384260056674995230">"Добавить другое поле"</string>
-    <!-- no translation found for add_new_entry_for_section (5223080690667565044) -->
-    <skip />
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Добавить"</string>
     <string name="contact_status_update_attribution" msgid="752179367353018597">"с помощью <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
     <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> с помощью <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"избранное"</string>
@@ -490,7 +492,7 @@
     <string name="custom_list_filter" msgid="7836035257402013957">"Настройка отображения"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Настройки"</string>
     <string name="activity_title_contacts_filter" msgid="8275542497615516969">"Фильтр контактов"</string>
-    <!-- outdated translation 377929915873428211 -->     <string name="menu_settings" msgid="1515262535785451190">"Настройки"</string>
+    <string name="menu_settings" msgid="1515262535785451190">"Параметры отображения"</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="hint_findContacts" msgid="1808681193458772072">"Найти контакты"</string>
@@ -513,10 +515,14 @@
     <item quantity="other" msgid="1276758425904917367">"Групп: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
   </plurals>
     <string name="delete_group_dialog_message" msgid="295063284548750881">"Вы действительно хотите удалить группу \"<xliff:g id="GROUP_LABEL">%1$s</xliff:g>\"? Обратите внимание: при удалении группы контакты удалены не будут."</string>
-    <!-- no translation found for num_contacts_in_group:one (1352418549951013448) -->
-    <!-- no translation found for num_contacts_in_group:other (8146027769011086349) -->
-    <!-- no translation found for group_list_num_contacts_in_group:one (3323065321661972446) -->
-    <!-- no translation found for group_list_num_contacts_in_group:other (6251996206137048525) -->
+  <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="5015189525953438968">"Введите имя контакта перед тем, как объединять его с другим."</string>
     <string name="indicator_joined_contact" msgid="3321049349627022128">"Присоединенный контакт"</string>
     <!-- no translation found for copy_text (3257145021583508761) -->
@@ -534,69 +540,42 @@
     <string name="enter_contact_name" msgid="2930510479516059437">"Введите имя контакта"</string>
     <string name="editGroup_title_insert" msgid="7803743109105317959">"Создать группу"</string>
     <string name="editGroup_title_edit" msgid="2173278908256913247">"Изменить группу"</string>
-    <!-- no translation found for view_updates_from_group (1782685984905600034) -->
-    <skip />
+    <string name="view_updates_from_group" msgid="1782685984905600034">"Обновления"</string>
     <!-- no translation found for notification_voicemail_title:one (1746619685488504230) -->
     <!-- no translation found for notification_voicemail_title:other (5513481419205061254) -->
     <!-- no translation found for notification_voicemail_callers_list (1153954809339404149) -->
     <skip />
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
-    <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
-    <skip />
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
+    <string name="voicemail_playback_error" msgid="5128928338910411763">"Не удалось воспроизвести голосовое сообщение"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Новые"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Предыдущие"</string>
-    <!-- no translation found for voicemail_status_voicemail_not_available (3164200979671881947) -->
+    <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Не удается подключиться к серверу голосовой почты."</string>
+    <string name="voicemail_status_messages_waiting" msgid="2970301042310727909">"Не удается подключиться к серверу. Есть новые сообщения."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3940240432123700974">"Настройте голосовую почту."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Аудио недоступно."</string>
+    <string name="voicemail_status_action_configure" msgid="7008713959076506385">"Настроить"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Получить почту"</string>
+    <string name="voicemail_speed_slowest" msgid="6047030504814773029">"минимальная скорость"</string>
+    <string name="voicemail_speed_slower" msgid="7890393922358642543">"низкая скорость"</string>
+    <string name="voicemail_speed_normal" msgid="6030110237820243006">"обычная скорость"</string>
+    <string name="voicemail_speed_faster" msgid="4161478290979905481">"высокая скорость"</string>
+    <string name="voicemail_speed_fastest" msgid="3373646875150544205">"максимальная скорость"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
-    <!-- no translation found for voicemail_status_messages_waiting (2970301042310727909) -->
-    <skip />
-    <!-- no translation found for voicemail_status_configure_voicemail (3940240432123700974) -->
-    <skip />
-    <!-- no translation found for voicemail_status_audio_not_available (3369618334553341626) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_configure (7008713959076506385) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_call_server (1824816252288551794) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slowest (6047030504814773029) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slower (7890393922358642543) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_normal (6030110237820243006) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_faster (4161478290979905481) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
-    <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
-    <skip />
-    <!-- no translation found for group_name_hint (2659811836386413509) -->
-    <skip />
-    <!-- no translation found for nfc_vcard_file_name (2823095213265993609) -->
-    <skip />
-    <!-- no translation found for menu_show_voicemails_only (1898421289561435703) -->
-    <skip />
-    <!-- no translation found for status_available (5586870015822828392) -->
-    <skip />
-    <!-- no translation found for status_away (1838861100379804730) -->
-    <skip />
-    <!-- no translation found for status_busy (9147992455450257136) -->
-    <skip />
-    <!-- no translation found for description_call_log_call_button (8207201401459528442) -->
-    <skip />
-    <!-- no translation found for description_call_log_play_button (651182125650429846) -->
-    <skip />
-    <!-- no translation found for description_call_log_incoming_call (4485427487637250143) -->
-    <skip />
-    <!-- no translation found for description_call_log_outgoing_call (604831756853471658) -->
-    <skip />
-    <!-- no translation found for description_call_log_missed_call (2242805209983708825) -->
-    <skip />
-    <!-- no translation found for description_call_log_voicemail (4600798771975158948) -->
-    <skip />
-    <!-- no translation found for description_call_log_unheard_voicemail (118101684236996786) -->
-    <skip />
+    <string name="group_name_hint" msgid="2659811836386413509">"Название группы"</string>
+    <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Получено по NFC"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Показать голосовые сообщения"</string>
+    <string name="status_available" msgid="5586870015822828392">"На месте"</string>
+    <string name="status_away" msgid="1838861100379804730">"Отсутствует"</string>
+    <string name="status_busy" msgid="9147992455450257136">"Не беспокоить"</string>
+    <string name="description_call_log_call_button" msgid="8207201401459528442">"Позвонить"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Прослушать голосовую почту"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Входящий вызов"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Исходящий вызов"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Пропущенный вызов"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Голосовая почта"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Непрослушанные сообщения голосовой почты"</string>
     <!-- no translation found for call_log_empty_gecode (5588904744812100846) -->
     <skip />
 </resources>
diff --git a/res/values-sk-w470dp/strings.xml b/res/values-sk-w470dp/strings.xml
new file mode 100644
index 0000000..c914f45
--- /dev/null
+++ b/res/values-sk-w470dp/strings.xml
@@ -0,0 +1,20 @@
+<?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="recent_updates" msgid="7673783546044751339">"Aktualizácie"</string>
+</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 4deca50..cbd3cfc 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -76,8 +76,7 @@
     <string name="deleteConfirmation" msgid="811706994761610640">"Tento kontakt bude odstránený."</string>
     <string name="menu_done" msgid="796017761764190697">"Hotovo"</string>
     <string name="menu_doNotSave" msgid="58593876893538465">"Zrušiť"</string>
-    <!-- no translation found for menu_discard (6456087569315685632) -->
-    <skip />
+    <string name="menu_discard" msgid="6456087569315685632">"Zahodiť"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"Upraviť kontakt"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"Nový kontakt"</string>
     <string name="label_phonetic_name" msgid="2288082649573927286">"Foneticky"</string>
@@ -164,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Pridať medzi kontakty"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Odstrániť zo záznamu hovorov"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Vymazať záznam hovorov"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Záznam hovorov je prázdny."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Vymazať záznam hovorov"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Naozaj chcete odstrániť denník hovorov?"</string>
@@ -206,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Zavolať znova"</string>
     <string name="returnCall" msgid="8171961914203617813">"Zavolať späť"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min <xliff:g id="SECONDS">%s</xliff:g> s"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Najčastejšie používané kontakty"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Pridať kontakt"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Chcete pridať „<xliff:g id="EMAIL">%s</xliff:g>“ medzi kontakty?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"jedna"</string>
@@ -424,10 +430,7 @@
     <!-- no translation found for from_account_format (4469138575127580203) -->
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Použiť túto fotografiu"</string>
-    <!-- unknown placeholder SOURCE in contact_read_only -->
-    <skip />
-    <!-- no translation found for contact_read_only (1969214537163492087) -->
-    <skip />
+    <string name="contact_read_only" msgid="1969214537163492087">"V tomto zariadení nie je možné upraviť"</string>
     <string name="no_contact_details" msgid="6754415338321837001">"Pri tomto kontakte nie sú uvedené ďalšie informácie"</string>
     <!-- no translation found for group_read_only (7924922658394449477) -->
     <skip />
@@ -459,8 +462,7 @@
   </plurals>
     <string name="no_contacts_selected" msgid="5877803471037324613">"Nie sú vybraté žiadne kontakty."</string>
     <string name="add_field" msgid="2384260056674995230">"Pridať ďalšie pole"</string>
-    <!-- no translation found for add_new_entry_for_section (5223080690667565044) -->
-    <skip />
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Pridať nové"</string>
     <string name="contact_status_update_attribution" msgid="752179367353018597">", zdroj: <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
     <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g>, zdroj: <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"zaradiť medzi obľúbené"</string>
@@ -490,7 +492,7 @@
     <string name="custom_list_filter" msgid="7836035257402013957">"Definícia vlastného zobrazenia"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Nastavenia"</string>
     <string name="activity_title_contacts_filter" msgid="8275542497615516969">"Kontakty na zobrazenie"</string>
-    <!-- outdated translation 377929915873428211 -->     <string name="menu_settings" msgid="1515262535785451190">"Nastavenia"</string>
+    <string name="menu_settings" msgid="1515262535785451190">"Zobraziť možnosti"</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="hint_findContacts" msgid="1808681193458772072">"Nájsť kontakty"</string>
@@ -513,10 +515,14 @@
     <item quantity="other" msgid="1276758425904917367">"Počet skupín: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
   </plurals>
     <string name="delete_group_dialog_message" msgid="295063284548750881">"Naozaj chcete odstrániť skupinu <xliff:g id="GROUP_LABEL">%1$s</xliff:g>? (Samotné kontakty odstránené nebudú.)"</string>
-    <!-- no translation found for num_contacts_in_group:one (1352418549951013448) -->
-    <!-- no translation found for num_contacts_in_group:other (8146027769011086349) -->
-    <!-- no translation found for group_list_num_contacts_in_group:one (3323065321661972446) -->
-    <!-- no translation found for group_list_num_contacts_in_group:other (6251996206137048525) -->
+  <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>
     <string name="toast_join_with_empty_contact" msgid="5015189525953438968">"Pred združením s ďalším kontaktom zadajte meno kontaktu."</string>
     <string name="indicator_joined_contact" msgid="3321049349627022128">"Združený kontakt"</string>
     <!-- no translation found for copy_text (3257145021583508761) -->
@@ -534,69 +540,42 @@
     <string name="enter_contact_name" msgid="2930510479516059437">"Zadajte meno kontaktu"</string>
     <string name="editGroup_title_insert" msgid="7803743109105317959">"Nová skupina"</string>
     <string name="editGroup_title_edit" msgid="2173278908256913247">"Upraviť skupinu"</string>
-    <!-- no translation found for view_updates_from_group (1782685984905600034) -->
-    <skip />
+    <string name="view_updates_from_group" msgid="1782685984905600034">"Zobraziť aktualizácie"</string>
     <!-- no translation found for notification_voicemail_title:one (1746619685488504230) -->
     <!-- no translation found for notification_voicemail_title:other (5513481419205061254) -->
     <!-- no translation found for notification_voicemail_callers_list (1153954809339404149) -->
     <skip />
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
-    <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
-    <skip />
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
+    <string name="voicemail_playback_error" msgid="5128928338910411763">"Hlasovú správu sa nepodarilo prehrať"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Nové"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Staršie"</string>
-    <!-- no translation found for voicemail_status_voicemail_not_available (3164200979671881947) -->
+    <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"K serveru hlasovej schránky sa nepodarilo pripojiť."</string>
+    <string name="voicemail_status_messages_waiting" msgid="2970301042310727909">"Na serveri hlasovej schránky sa nachádzajú nové správy. Nepodarilo sa k nemu však pripojiť."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3940240432123700974">"Konfigurovať hlasovú schránku."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Zvuk nie je k dispozícii."</string>
+    <string name="voicemail_status_action_configure" msgid="7008713959076506385">"Konfigurovať"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Volať do hlasovej schránky"</string>
+    <string name="voicemail_speed_slowest" msgid="6047030504814773029">"najnižšia rýchlosť"</string>
+    <string name="voicemail_speed_slower" msgid="7890393922358642543">"pomalá rýchlosť"</string>
+    <string name="voicemail_speed_normal" msgid="6030110237820243006">"normálna rýchlosť"</string>
+    <string name="voicemail_speed_faster" msgid="4161478290979905481">"vysoká rýchlosť"</string>
+    <string name="voicemail_speed_fastest" msgid="3373646875150544205">"najvyššia rýchlosť"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
-    <!-- no translation found for voicemail_status_messages_waiting (2970301042310727909) -->
-    <skip />
-    <!-- no translation found for voicemail_status_configure_voicemail (3940240432123700974) -->
-    <skip />
-    <!-- no translation found for voicemail_status_audio_not_available (3369618334553341626) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_configure (7008713959076506385) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_call_server (1824816252288551794) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slowest (6047030504814773029) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slower (7890393922358642543) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_normal (6030110237820243006) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_faster (4161478290979905481) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
-    <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
-    <skip />
-    <!-- no translation found for group_name_hint (2659811836386413509) -->
-    <skip />
-    <!-- no translation found for nfc_vcard_file_name (2823095213265993609) -->
-    <skip />
-    <!-- no translation found for menu_show_voicemails_only (1898421289561435703) -->
-    <skip />
-    <!-- no translation found for status_available (5586870015822828392) -->
-    <skip />
-    <!-- no translation found for status_away (1838861100379804730) -->
-    <skip />
-    <!-- no translation found for status_busy (9147992455450257136) -->
-    <skip />
-    <!-- no translation found for description_call_log_call_button (8207201401459528442) -->
-    <skip />
-    <!-- no translation found for description_call_log_play_button (651182125650429846) -->
-    <skip />
-    <!-- no translation found for description_call_log_incoming_call (4485427487637250143) -->
-    <skip />
-    <!-- no translation found for description_call_log_outgoing_call (604831756853471658) -->
-    <skip />
-    <!-- no translation found for description_call_log_missed_call (2242805209983708825) -->
-    <skip />
-    <!-- no translation found for description_call_log_voicemail (4600798771975158948) -->
-    <skip />
-    <!-- no translation found for description_call_log_unheard_voicemail (118101684236996786) -->
-    <skip />
+    <string name="group_name_hint" msgid="2659811836386413509">"Názov skupiny"</string>
+    <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Kontakt prijatý cez NFC"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Zobraziť len hlasové správy"</string>
+    <string name="status_available" msgid="5586870015822828392">"K dispozícii"</string>
+    <string name="status_away" msgid="1838861100379804730">"Preč"</string>
+    <string name="status_busy" msgid="9147992455450257136">"Zaneprázdnený"</string>
+    <string name="description_call_log_call_button" msgid="8207201401459528442">"Volať číslo"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Prehrať hlasovú správu"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Prichádzajúci hovor"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Odchádzajúci hovor"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Zmeškaný hovor"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Hlasová správa"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Nevypočutá hlasová správa"</string>
     <!-- no translation found for call_log_empty_gecode (5588904744812100846) -->
     <skip />
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 2de3255..c222d82 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Dodaj med stike"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Odstrani iz dnevnika klicev"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Počisti dnevnik klicev"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Dnevnik klicev je prazen."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Počisti dnevnik klicev"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Ali ste prepričani, da želite počistiti dnevnik klicev?"</string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Ponovi klic"</string>
     <string name="returnCall" msgid="8171961914203617813">"Povratni klic"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> min, <xliff:g id="SECONDS">%s</xliff:g> s"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Pogosti stiki"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Dodaj stik"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Želite »<xliff:g id="EMAIL">%s</xliff:g>« dodati stikom?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"ena"</string>
@@ -541,7 +548,6 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"Ni bilo mogoče predvajati glasovne pošte"</string>
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Novo"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Starejši"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Ni se mogoče povezati s strežnikom za glasovno pošto."</string>
@@ -555,7 +561,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"običajna hitrost"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"hitreje"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"največja hitrost"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"Ime skupine"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Stik prejet prek NFC"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Pokaži samo glasovno pošto"</string>
diff --git a/res/values-sr-w470dp/strings.xml b/res/values-sr-w470dp/strings.xml
new file mode 100644
index 0000000..1839fb0
--- /dev/null
+++ b/res/values-sr-w470dp/strings.xml
@@ -0,0 +1,20 @@
+<?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="recent_updates" msgid="7673783546044751339">"Ажурирања"</string>
+</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 74efc4a..a99d94b 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -76,8 +76,7 @@
     <string name="deleteConfirmation" msgid="811706994761610640">"Овај контакт ће бити избрисан."</string>
     <string name="menu_done" msgid="796017761764190697">"Готово"</string>
     <string name="menu_doNotSave" msgid="58593876893538465">"Откажи"</string>
-    <!-- no translation found for menu_discard (6456087569315685632) -->
-    <skip />
+    <string name="menu_discard" msgid="6456087569315685632">"Одбаци"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"Измена контакта"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"Нови контакт"</string>
     <string name="label_phonetic_name" msgid="2288082649573927286">"Фонетски"</string>
@@ -164,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Додај у контакте"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Уклони из евиденције позива"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Обриши евиденцију позива"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Евиденција позива је празна."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Обриши евиденцију позива"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Желите ли заиста да обришете евиденцију позива?"</string>
@@ -206,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Позови поново"</string>
     <string name="returnCall" msgid="8171961914203617813">"Узврати позив"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> мин <xliff:g id="SECONDS">%s</xliff:g> сек"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Често контактирани"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Додај контакт"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Желите ли да додате адресу е-поште „<xliff:g id="EMAIL">%s</xliff:g>“ у контакте?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"један"</string>
@@ -424,10 +430,7 @@
     <!-- no translation found for from_account_format (4469138575127580203) -->
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Користи ову фотографију"</string>
-    <!-- unknown placeholder SOURCE in contact_read_only -->
-    <skip />
-    <!-- no translation found for contact_read_only (1969214537163492087) -->
-    <skip />
+    <string name="contact_read_only" msgid="1969214537163492087">"Не може се мењати на овом уређају"</string>
     <string name="no_contact_details" msgid="6754415338321837001">"Нема додатних информације за овај контакт"</string>
     <!-- no translation found for group_read_only (7924922658394449477) -->
     <skip />
@@ -459,8 +462,7 @@
   </plurals>
     <string name="no_contacts_selected" msgid="5877803471037324613">"Није изабран ниједан контакт."</string>
     <string name="add_field" msgid="2384260056674995230">"Додај друго поље"</string>
-    <!-- no translation found for add_new_entry_for_section (5223080690667565044) -->
-    <skip />
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Додај ново"</string>
     <string name="contact_status_update_attribution" msgid="752179367353018597">"преко <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
     <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> преко <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"омиљено"</string>
@@ -490,7 +492,7 @@
     <string name="custom_list_filter" msgid="7836035257402013957">"Дефинисање прилагођеног приказа"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Подешавања"</string>
     <string name="activity_title_contacts_filter" msgid="8275542497615516969">"Контакти за приказ"</string>
-    <!-- outdated translation 377929915873428211 -->     <string name="menu_settings" msgid="1515262535785451190">"Подешавања"</string>
+    <string name="menu_settings" msgid="1515262535785451190">"Опције приказа"</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="hint_findContacts" msgid="1808681193458772072">"Пронађи контакте"</string>
@@ -513,10 +515,14 @@
     <item quantity="other" msgid="1276758425904917367">"Група: <xliff:g id="COUNT">%0$d</xliff:g>"</item>
   </plurals>
     <string name="delete_group_dialog_message" msgid="295063284548750881">"Да ли заиста желите да избришете групу „<xliff:g id="GROUP_LABEL">%1$s</xliff:g>“? (Контакти неће бити избрисани.)"</string>
-    <!-- no translation found for num_contacts_in_group:one (1352418549951013448) -->
-    <!-- no translation found for num_contacts_in_group:other (8146027769011086349) -->
-    <!-- no translation found for group_list_num_contacts_in_group:one (3323065321661972446) -->
-    <!-- no translation found for group_list_num_contacts_in_group:other (6251996206137048525) -->
+  <plurals name="num_contacts_in_group">
+    <item quantity="one" msgid="1352418549951013448">"<xliff:g id="COUNT_0">%1$d</xliff:g> особа са налога <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+    <item quantity="other" msgid="8146027769011086349">"<xliff:g id="COUNT_0">%1$d</xliff:g> особе(а) са налога <xliff:g id="ACCOUNT_TYPE">%2$s</xliff:g>"</item>
+  </plurals>
+  <plurals name="group_list_num_contacts_in_group">
+    <item quantity="one" msgid="3323065321661972446">"<xliff:g id="COUNT">%1$d</xliff:g> особа"</item>
+    <item quantity="other" msgid="6251996206137048525">"Особа: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
+  </plurals>
     <string name="toast_join_with_empty_contact" msgid="5015189525953438968">"Унесите име контакта пре него што га придружите другом контакту."</string>
     <string name="indicator_joined_contact" msgid="3321049349627022128">"Придружени контакт"</string>
     <!-- no translation found for copy_text (3257145021583508761) -->
@@ -534,69 +540,42 @@
     <string name="enter_contact_name" msgid="2930510479516059437">"Унесите име контакта"</string>
     <string name="editGroup_title_insert" msgid="7803743109105317959">"Нова група"</string>
     <string name="editGroup_title_edit" msgid="2173278908256913247">"Измена групе"</string>
-    <!-- no translation found for view_updates_from_group (1782685984905600034) -->
-    <skip />
+    <string name="view_updates_from_group" msgid="1782685984905600034">"Прикажи ажурирања"</string>
     <!-- no translation found for notification_voicemail_title:one (1746619685488504230) -->
     <!-- no translation found for notification_voicemail_title:other (5513481419205061254) -->
     <!-- no translation found for notification_voicemail_callers_list (1153954809339404149) -->
     <skip />
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
-    <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
-    <skip />
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
+    <string name="voicemail_playback_error" msgid="5128928338910411763">"Није било могуће пустити говорну пошту"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Ново"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Старије"</string>
-    <!-- no translation found for voicemail_status_voicemail_not_available (3164200979671881947) -->
+    <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Није могуће повезати се са сервером говорне поште."</string>
+    <string name="voicemail_status_messages_waiting" msgid="2970301042310727909">"Није могућа веза са серв. гов. поште. Нове гов. пор. су на чекању."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3940240432123700974">"Конфигуришите говорну пошту."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Звук није доступан."</string>
+    <string name="voicemail_status_action_configure" msgid="7008713959076506385">"Конфигуришите"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Зовите говорну пошту"</string>
+    <string name="voicemail_speed_slowest" msgid="6047030504814773029">"најмања брзина"</string>
+    <string name="voicemail_speed_slower" msgid="7890393922358642543">"мала брзина"</string>
+    <string name="voicemail_speed_normal" msgid="6030110237820243006">"нормална брзина"</string>
+    <string name="voicemail_speed_faster" msgid="4161478290979905481">"велика брзина"</string>
+    <string name="voicemail_speed_fastest" msgid="3373646875150544205">"највећа брзина"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
-    <!-- no translation found for voicemail_status_messages_waiting (2970301042310727909) -->
-    <skip />
-    <!-- no translation found for voicemail_status_configure_voicemail (3940240432123700974) -->
-    <skip />
-    <!-- no translation found for voicemail_status_audio_not_available (3369618334553341626) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_configure (7008713959076506385) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_call_server (1824816252288551794) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slowest (6047030504814773029) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slower (7890393922358642543) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_normal (6030110237820243006) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_faster (4161478290979905481) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
-    <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
-    <skip />
-    <!-- no translation found for group_name_hint (2659811836386413509) -->
-    <skip />
-    <!-- no translation found for nfc_vcard_file_name (2823095213265993609) -->
-    <skip />
-    <!-- no translation found for menu_show_voicemails_only (1898421289561435703) -->
-    <skip />
-    <!-- no translation found for status_available (5586870015822828392) -->
-    <skip />
-    <!-- no translation found for status_away (1838861100379804730) -->
-    <skip />
-    <!-- no translation found for status_busy (9147992455450257136) -->
-    <skip />
-    <!-- no translation found for description_call_log_call_button (8207201401459528442) -->
-    <skip />
-    <!-- no translation found for description_call_log_play_button (651182125650429846) -->
-    <skip />
-    <!-- no translation found for description_call_log_incoming_call (4485427487637250143) -->
-    <skip />
-    <!-- no translation found for description_call_log_outgoing_call (604831756853471658) -->
-    <skip />
-    <!-- no translation found for description_call_log_missed_call (2242805209983708825) -->
-    <skip />
-    <!-- no translation found for description_call_log_voicemail (4600798771975158948) -->
-    <skip />
-    <!-- no translation found for description_call_log_unheard_voicemail (118101684236996786) -->
-    <skip />
+    <string name="group_name_hint" msgid="2659811836386413509">"Назив групе"</string>
+    <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Контакт преко NFC-а"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Прикажи само говорне поруке"</string>
+    <string name="status_available" msgid="5586870015822828392">"Доступан/на"</string>
+    <string name="status_away" msgid="1838861100379804730">"Одсутан/на"</string>
+    <string name="status_busy" msgid="9147992455450257136">"Заузет/а"</string>
+    <string name="description_call_log_call_button" msgid="8207201401459528442">"Позивање броја"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Пуштање говорне поште"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Долазни позив"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Одлазни позив"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Пропуштен позив"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Говорна пошта"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Непреслушана говорна пошта"</string>
     <!-- no translation found for call_log_empty_gecode (5588904744812100846) -->
     <skip />
 </resources>
diff --git a/res/values-sv-w470dp/strings.xml b/res/values-sv-w470dp/strings.xml
new file mode 100644
index 0000000..e014413
--- /dev/null
+++ b/res/values-sv-w470dp/strings.xml
@@ -0,0 +1,20 @@
+<?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="recent_updates" msgid="7673783546044751339">"Uppdateringar"</string>
+</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index e04ac17..0cabccc 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -76,8 +76,7 @@
     <string name="deleteConfirmation" msgid="811706994761610640">"Kontakten kommer att tas bort."</string>
     <string name="menu_done" msgid="796017761764190697">"Färdig"</string>
     <string name="menu_doNotSave" msgid="58593876893538465">"Avbryt"</string>
-    <!-- no translation found for menu_discard (6456087569315685632) -->
-    <skip />
+    <string name="menu_discard" msgid="6456087569315685632">"Släng"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"Redigera kontakt"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"Ny kontakt"</string>
     <string name="label_phonetic_name" msgid="2288082649573927286">"Fonetiskt"</string>
@@ -164,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Lägg till i Kontakter"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Ta bort från samtalshistorik"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Rensa samtalshistorik"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Samtalshistoriken är tom."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Rensa samtalshistorik"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Vill du rensa samtalshistoriken?"</string>
@@ -206,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Ring igen"</string>
     <string name="returnCall" msgid="8171961914203617813">"Ring upp"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> minuter <xliff:g id="SECONDS">%s</xliff:g> sekunder"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Ofta kontaktade"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Lägg till kontakt"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Vill du lägga till <xliff:g id="EMAIL">%s</xliff:g> i Kontakter?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"ett"</string>
@@ -424,10 +430,7 @@
     <!-- no translation found for from_account_format (4469138575127580203) -->
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"Använd det här fotot"</string>
-    <!-- unknown placeholder SOURCE in contact_read_only -->
-    <skip />
-    <!-- no translation found for contact_read_only (1969214537163492087) -->
-    <skip />
+    <string name="contact_read_only" msgid="1969214537163492087">"Kan inte redigeras i den här enheten"</string>
     <string name="no_contact_details" msgid="6754415338321837001">"Det finns ingen mer information för kontakten"</string>
     <!-- no translation found for group_read_only (7924922658394449477) -->
     <skip />
@@ -459,8 +462,7 @@
   </plurals>
     <string name="no_contacts_selected" msgid="5877803471037324613">"Inga kontakter har markerats."</string>
     <string name="add_field" msgid="2384260056674995230">"Lägg till ett fält"</string>
-    <!-- no translation found for add_new_entry_for_section (5223080690667565044) -->
-    <skip />
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"Lägg till ny"</string>
     <string name="contact_status_update_attribution" msgid="752179367353018597">"via <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
     <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> via <xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"favorit"</string>
@@ -490,7 +492,7 @@
     <string name="custom_list_filter" msgid="7836035257402013957">"Definiera anpassad visning"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"Inställningar"</string>
     <string name="activity_title_contacts_filter" msgid="8275542497615516969">"Kontakter som ska visas"</string>
-    <!-- outdated translation 377929915873428211 -->     <string name="menu_settings" msgid="1515262535785451190">"Inställningar"</string>
+    <string name="menu_settings" msgid="1515262535785451190">"Visningsalternativ"</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="hint_findContacts" msgid="1808681193458772072">"Sök efter kontakter"</string>
@@ -513,10 +515,14 @@
     <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> grupper"</item>
   </plurals>
     <string name="delete_group_dialog_message" msgid="295063284548750881">"Vill du ta bort gruppen <xliff:g id="GROUP_LABEL">%1$s</xliff:g>? Kontakterna i gruppen tas inte bort."</string>
-    <!-- no translation found for num_contacts_in_group:one (1352418549951013448) -->
-    <!-- no translation found for num_contacts_in_group:other (8146027769011086349) -->
-    <!-- no translation found for group_list_num_contacts_in_group:one (3323065321661972446) -->
-    <!-- no translation found for group_list_num_contacts_in_group:other (6251996206137048525) -->
+  <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>
     <string name="toast_join_with_empty_contact" msgid="5015189525953438968">"Ange ett namn för kontakten innan du slår ihop den med en annan kontakt."</string>
     <string name="indicator_joined_contact" msgid="3321049349627022128">"Hopslagen kontakt"</string>
     <!-- no translation found for copy_text (3257145021583508761) -->
@@ -534,69 +540,42 @@
     <string name="enter_contact_name" msgid="2930510479516059437">"Ange kontaktens namn"</string>
     <string name="editGroup_title_insert" msgid="7803743109105317959">"Ny grupp"</string>
     <string name="editGroup_title_edit" msgid="2173278908256913247">"Redigera grupp"</string>
-    <!-- no translation found for view_updates_from_group (1782685984905600034) -->
-    <skip />
+    <string name="view_updates_from_group" msgid="1782685984905600034">"Visa uppdateringar"</string>
     <!-- no translation found for notification_voicemail_title:one (1746619685488504230) -->
     <!-- no translation found for notification_voicemail_title:other (5513481419205061254) -->
     <!-- no translation found for notification_voicemail_callers_list (1153954809339404149) -->
     <skip />
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
-    <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
-    <skip />
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
+    <string name="voicemail_playback_error" msgid="5128928338910411763">"Det gick inte att spela upp röstmeddelandet"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Nya"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Äldre"</string>
-    <!-- no translation found for voicemail_status_voicemail_not_available (3164200979671881947) -->
+    <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Det går inte att ansluta till röstbrevlådan."</string>
+    <string name="voicemail_status_messages_waiting" msgid="2970301042310727909">"Kan inte ansluta till röstbrevlådan. Nya meddelanden väntar."</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3940240432123700974">"Konfigurera din röstbrevlåda."</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"Ljud saknas."</string>
+    <string name="voicemail_status_action_configure" msgid="7008713959076506385">"Konfigurera"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"Ring röstbrevlådan"</string>
+    <string name="voicemail_speed_slowest" msgid="6047030504814773029">"lägst hastighet"</string>
+    <string name="voicemail_speed_slower" msgid="7890393922358642543">"låg hastighet"</string>
+    <string name="voicemail_speed_normal" msgid="6030110237820243006">"Normal hastighet"</string>
+    <string name="voicemail_speed_faster" msgid="4161478290979905481">"hög hastighet"</string>
+    <string name="voicemail_speed_fastest" msgid="3373646875150544205">"högsta hastigheten"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
-    <!-- no translation found for voicemail_status_messages_waiting (2970301042310727909) -->
-    <skip />
-    <!-- no translation found for voicemail_status_configure_voicemail (3940240432123700974) -->
-    <skip />
-    <!-- no translation found for voicemail_status_audio_not_available (3369618334553341626) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_configure (7008713959076506385) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_call_server (1824816252288551794) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slowest (6047030504814773029) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slower (7890393922358642543) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_normal (6030110237820243006) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_faster (4161478290979905481) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
-    <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
-    <skip />
-    <!-- no translation found for group_name_hint (2659811836386413509) -->
-    <skip />
-    <!-- no translation found for nfc_vcard_file_name (2823095213265993609) -->
-    <skip />
-    <!-- no translation found for menu_show_voicemails_only (1898421289561435703) -->
-    <skip />
-    <!-- no translation found for status_available (5586870015822828392) -->
-    <skip />
-    <!-- no translation found for status_away (1838861100379804730) -->
-    <skip />
-    <!-- no translation found for status_busy (9147992455450257136) -->
-    <skip />
-    <!-- no translation found for description_call_log_call_button (8207201401459528442) -->
-    <skip />
-    <!-- no translation found for description_call_log_play_button (651182125650429846) -->
-    <skip />
-    <!-- no translation found for description_call_log_incoming_call (4485427487637250143) -->
-    <skip />
-    <!-- no translation found for description_call_log_outgoing_call (604831756853471658) -->
-    <skip />
-    <!-- no translation found for description_call_log_missed_call (2242805209983708825) -->
-    <skip />
-    <!-- no translation found for description_call_log_voicemail (4600798771975158948) -->
-    <skip />
-    <!-- no translation found for description_call_log_unheard_voicemail (118101684236996786) -->
-    <skip />
+    <string name="group_name_hint" msgid="2659811836386413509">"Gruppens namn"</string>
+    <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Mott. v. NFC"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Visa bara röstmeddelanden"</string>
+    <string name="status_available" msgid="5586870015822828392">"Tillgänglig"</string>
+    <string name="status_away" msgid="1838861100379804730">"Inte vid datorn"</string>
+    <string name="status_busy" msgid="9147992455450257136">"Upptagen"</string>
+    <string name="description_call_log_call_button" msgid="8207201401459528442">"Ring upp nummer"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"Spela upp röstmeddelande"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"Inkommande samtal"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"Utgående samtal"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"Missat samtal"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"Röstmeddelande"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"Ej hört röstmeddelande"</string>
     <!-- no translation found for call_log_empty_gecode (5588904744812100846) -->
     <skip />
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 5506f31..1fcdb45 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -220,6 +220,10 @@
     <skip />
     <!-- no translation found for recentCalls_deleteAll (6352364392762163704) -->
     <skip />
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <!-- no translation found for recentCalls_empty (247053222448663107) -->
     <skip />
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Futa kumbukumbu la upigaji simu"</string>
@@ -253,7 +257,7 @@
     <string name="noContactsNoSimHelpText" product="default" msgid="467658807711582876">"Huna anwani zozote za kuonyesha."\n\n"Ili kuongeza anwani, bonyeza "<font fgcolor="#ffffffff"><b>"Menyu"</b></font>" na gusa:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Akaunti"</b></font>" ili kuongeza au kusanidi akaunti ya anwani unaweza kupatanisha katika simu"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Mawasiliano mapya"</b></font>" ili kuunda anwani mpya kuanzia mwanzo"</li>" "\n\n<li><font fgcolor="#ffffffff"><b>"Leta/Hamisha"</b></font>"ili kuleta anwani kutoka kwa kadi yako ya SD"\n</li></string>
     <string name="noContactsNoSimHelpTextWithSync" product="tablet" msgid="6222739731808897565">"Huna anwani zozote za kuonyesha. (Kama uliongeza akaunti, inaweza kuchukua dakika chache kusawazisha anwani.)"\n\n"Kuongeza anwani, bonyeza "<font fgcolor="#ffffffff"><b>"Menyu"</b></font>" na uguse:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Akaunti"</b></font>" ili kuongeza au kusanidi akaunti na anwani unazoweza kusawazisha kwenye kompyuta ndogo"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Chaguo za onyesha"</b></font>" ili kubadilisha ni anwani gani zinazoonekana"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Anwani mpya"</b></font>" ili kuunda anwani mpya kutoka mwanzo"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Leta/Hamisha"</b></font>" ili kuleta anwani kutoka kwa kadi yako ya SD"\n</li></string>
     <string name="noContactsNoSimHelpTextWithSync" product="default" msgid="9040060730467973050">"Hauna anwani zozote za kuonyesha. (Kama umeongeza tu akaunti, inaweza kuchukua dadika chache ili kupatanisha anwani.)"\n\n"Ili kuongeza anwani, bonyeza "<font fgcolor="#ffffffff"><b>"Menyu"</b></font>" na gusa:"\n" "\n<li><font fgcolor="#ffffffff"><b>"Akaunti"</b></font>" ili kuongeza au kusanidi anwani unayoweza kupatanisha katika simu"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Onyesha Machaguo"</b></font>"ili kubadilisha anwani zinazoonekana"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Anwani mpya"</b></font>" ili kuunda anwani mpya kuanzia mwanzo"\n</li>" "\n<li><font fgcolor="#ffffffff"><b>"Leta/Hamisha"</b></font>"ili kuleta anwani kutoka kwa kadi yako ya SD"\n</li></string>
-    <!-- syntax error in translation for noFavoritesHelpText (3744655776704833277) org.xmlpull.v1.XmlPullParserException: expected: /string read: b (position:END_TAG </b>@1:167 in java.io.StringReader@eb1c260)  -->
+    <!-- syntax error in translation for noFavoritesHelpText (3744655776704833277) org.xmlpull.v1.XmlPullParserException: expected: /string read: b (position:END_TAG </b>@1:167 in java.io.StringReader@c5e3974)  -->
     <string name="liveFolder_all_label" msgid="5961411940473276616">"Anwani zote"</string>
     <string name="liveFolder_favorites_label" msgid="2674341514070517105">"Yenye nyota"</string>
     <string name="liveFolder_phones_label" msgid="1709786878793436245">"Simu"</string>
@@ -272,7 +276,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Piga simu tena"</string>
     <string name="returnCall" msgid="8171961914203617813">"Mpigie"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"Dakika <xliff:g id="MINUTES">%s</xliff:g> sekunde <xliff:g id="SECONDS">%s</xliff:g>"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">" Unaowasiliana nao zaidi"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Ongeza anwani"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Ongeza \"<xliff:g id="EMAIL">%s</xliff:g>\" kwa anwani?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"moja"</string>
@@ -623,8 +630,6 @@
     <skip />
     <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
     <skip />
-    <!-- no translation found for call_log_type_date_separator (8009466658324061546) -->
-    <skip />
     <!-- no translation found for call_log_new_header (846546437517724715) -->
     <skip />
     <!-- no translation found for call_log_old_header (6262205894314263629) -->
@@ -651,7 +656,7 @@
     <skip />
     <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
     <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
     <!-- no translation found for group_name_hint (2659811836386413509) -->
     <skip />
diff --git a/res/layout-sw580dp/edit_spinner.xml b/res/values-sw580dp-w1000dp/styles.xml
similarity index 60%
copy from res/layout-sw580dp/edit_spinner.xml
copy to res/values-sw580dp-w1000dp/styles.xml
index f1909fe..85f4733 100644
--- a/res/layout-sw580dp/edit_spinner.xml
+++ b/res/values-sw580dp-w1000dp/styles.xml
@@ -13,15 +13,14 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
+<resources>
+    <style name="FavoritesFragmentStyle">
+        <item name="android:layout_width">0dip</item>
+        <item name="android:layout_weight">7</item>
+    </style>
 
-<!-- Spinner for a field in the contact editor. -->
-
-<Spinner
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/spinner"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:layout_marginLeft="@dimen/editor_field_left_padding"
-    android:textAppearance="?android:attr/textAppearanceLarge"
-    android:paddingLeft="5dip"
-    android:paddingTop="5dip"/>
\ No newline at end of file
+    <style name="FrequentFragmentStyle">
+        <item name="android:layout_width">0dip</item>
+        <item name="android:layout_weight">3</item>
+    </style>
+</resources>
diff --git a/res/values-sw580dp-w720dp/styles.xml b/res/values-sw580dp-w720dp/styles.xml
index a6cbb9b..ff50d45 100644
--- a/res/values-sw580dp-w720dp/styles.xml
+++ b/res/values-sw580dp-w720dp/styles.xml
@@ -16,11 +16,11 @@
 <resources>
     <style name="PeopleTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar">
         <item name="android:actionBarStyle">@style/ContactsActionBarStyle</item>
+        <item name="android:actionBarTabStyle">@style/ContactsActionBarTabView</item>
         <item name="android:textColorPrimary">@color/primary_text_color</item>
         <item name="android:textColorSecondary">@color/secondary_text_color</item>
         <item name="list_item_height">66dip</item>
         <item name="activated_background">@drawable/list_item_activated_background</item>
-        <item name="android:windowContentOverlay">@null</item>
         <item name="section_header_background">@drawable/list_title_holo</item>
         <item name="list_item_divider">?android:attr/listDivider</item>
         <item name="list_item_padding_top">0dip</item>
diff --git a/res/values-sw580dp/dimens.xml b/res/values-sw580dp/dimens.xml
index ed845be..f7c0f05 100644
--- a/res/values-sw580dp/dimens.xml
+++ b/res/values-sw580dp/dimens.xml
@@ -14,14 +14,14 @@
      limitations under the License.
 -->
 <resources>
-    <dimen name="edit_photo_size">96dip</dimen>
     <dimen name="aggregation_suggestion_icon_size">64dip</dimen>
-    <dimen name="editor_type_label_width">180dip</dimen>
+    <dimen name="editor_padding_top">32dip</dimen>
+    <dimen name="editor_type_label_width">122dip</dimen>
     <dimen name="editor_field_spinner_text_size">15sp</dimen>
-    <dimen name="editor_round_button_padding_left">8dip</dimen>
-    <dimen name="editor_round_button_padding_right">8dip</dimen>
-    <dimen name="editor_field_top_padding">12dip</dimen>
-    <dimen name="editor_field_bottom_padding">12dip</dimen>
+    <dimen name="editor_round_button_padding_left">16dip</dimen>
+    <dimen name="editor_round_button_padding_right">16dip</dimen>
+    <dimen name="editor_kind_title_left_padding">16dip</dimen>
+    <dimen name="editor_add_field_label_left_padding">24dip</dimen>
     <dimen name="detail_item_side_margin">0dip</dimen>
     <dimen name="detail_item_vertical_margin">16dip</dimen>
     <dimen name="detail_item_icon_margin">8dip</dimen>
@@ -33,6 +33,7 @@
     <dimen name="shortcut_icon_size">64dip</dimen>
     <dimen name="list_section_height">37dip</dimen>
     <dimen name="detail_update_section_item_vertical_padding">32dip</dimen>
+    <dimen name="detail_update_section_item_last_row_extra_vertical_padding">16dip</dimen>
     <dimen name="search_view_width">400dip</dimen>
     <!-- Center vertically -->
     <dimen name="quick_contact_top_position">-1px</dimen>
diff --git a/res/values-sw580dp/styles.xml b/res/values-sw580dp/styles.xml
index b9b87cf..a386e57 100644
--- a/res/values-sw580dp/styles.xml
+++ b/res/values-sw580dp/styles.xml
@@ -16,11 +16,11 @@
 <resources>
     <style name="PeopleTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar">
         <item name="android:actionBarStyle">@style/ContactsActionBarStyle</item>
+        <item name="android:actionBarTabStyle">@style/ContactsActionBarTabView</item>
         <item name="android:textColorPrimary">@color/primary_text_color</item>
         <item name="android:textColorSecondary">@color/secondary_text_color</item>
         <item name="list_item_height">66dip</item>
         <item name="activated_background">@drawable/list_item_activated_background</item>
-        <item name="android:windowContentOverlay">@null</item>
         <item name="section_header_background">@drawable/list_title_holo</item>
         <item name="list_item_divider">?android:attr/listDivider</item>
         <item name="list_item_padding_top">0dip</item>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 690e42e..b9f075f 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"เพิ่มในสมุดโทรศัพท์"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"ลบจากบันทึกการโทร"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"ล้างบันทึกการโทร"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"บันทึกการโทรว่างเปล่า"</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"ล้างบันทึกการโทร"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"คุณแน่ใจหรือไม่ว่าต้องการล้างบันทึกการโทรทั้งหมด"</string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"โทรอีกครั้ง"</string>
     <string name="returnCall" msgid="8171961914203617813">"โทรกลับ"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> นาที <xliff:g id="SECONDS">%s</xliff:g> วินาที"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"ที่ติดต่อบ่อยครั้ง"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"เพิ่มรายชื่อในสมุดโทรศัพท์"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"เพิ่ม \"<xliff:g id="EMAIL">%s</xliff:g>\" ในสมุดโทรศัพท์หรือไม่"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"หนึ่ง"</string>
@@ -541,7 +548,6 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"ไม่สามารถเปิดข้อความเสียง"</string>
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"ใหม่"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"เก่ากว่า"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ข้อความเสียง"</string>
@@ -555,7 +561,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"เร็วปกติ"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"เร็ว"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"เร็วที่สุด"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"ชื่อกลุ่ม"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"ผู้ติดต่อทาง NFC"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"แสดงเฉพาะข้อความเสียง"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 46b1d1d..128b98a 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Idagdag sa mga contact"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Alisin mula sa log ng tawag"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"I-clear ang log ng tawag"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Walang laman ang log ng tawag."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"I-clear ang log ng tawag"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Sigurado ka bang gusto mong i-clear ang log ng tawag?"</string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Tawagan muli"</string>
     <string name="returnCall" msgid="8171961914203617813">"Pabalik na tawag"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> (na) min <xliff:g id="SECONDS">%s</xliff:g> (na) seg"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Madalas na tinatawagan"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Magdagdag ng contact"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Idagdag ang \"<xliff:g id="EMAIL">%s</xliff:g>\" sa mga contact?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"isa"</string>
@@ -541,7 +548,6 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"Hindi ma-play ang voicemail"</string>
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Bago"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Mas Luma"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Hindi makakonekta sa server ng voicemail."</string>
@@ -555,7 +561,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"normal na takbo"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"mabilis na takbo"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"pinakamabilis na takbo"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"Pangalan ng Pangkat"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Natanggap ang contact sa NFC"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Ipakita ang mga voicemail lamang"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 7e3e623..c83115a 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Kişilere ekle"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Çağrı kaydından kaldır"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Çağrı kaydını temizle"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Çağrı kaydı boş."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Çağrı kaydını temizle"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Çağrı kaydını silmek istediğinizden emin misiniz?"</string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Tekrar çağrı yap"</string>
     <string name="returnCall" msgid="8171961914203617813">"Geri ara"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> dak <xliff:g id="SECONDS">%s</xliff:g> sn"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Sık iletişim kurulanlar"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Kişi ekle"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"\"<xliff:g id="EMAIL">%s</xliff:g>\" adresi kişilere eklensin mi?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"bir"</string>
@@ -541,7 +548,6 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"Sesli mesaj oynatılamıyor"</string>
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Yeni"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Daha eski"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Sesli mesaj sunucusuna bağlanılamıyor."</string>
@@ -555,7 +561,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"normal hız"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"yüksek hız"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"en yüksek hız"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"Grubun Adı"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Kişi NFC ile alındı"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Yalnızca sesli msajları göster"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 01b4919..ac2d030 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Дод. до контактів"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Видал. з журн. викликів"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Очист. журнал викл."</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Журн. викл. порожній."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Очист. журнал викл."</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Дійсно очистити журнал викликів?"</string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Набрати знову"</string>
     <string name="returnCall" msgid="8171961914203617813">"Зворот. виклик"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> хв. <xliff:g id="SECONDS">%s</xliff:g> сек."</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Часті контакти"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Додати контакт"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Дод.\" <xliff:g id="EMAIL">%s</xliff:g>\" до контактів?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"один"</string>
@@ -541,7 +548,6 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"Не вдається відтворити голосову пошту"</string>
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Нові"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Старіші"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Не вдається з’єднатися із сервером голосової пошти."</string>
@@ -555,7 +561,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"звичайна швидкість"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"висока швидкість"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"максимальна швидкість"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"Назва групи"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Конт., отрим.через NFC"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Показувати лише голосову пошту"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 92a8a97..d7f8abc 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -163,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"Thêm vào danh bạ"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"Xoá khỏi nhật ký cuộc gọi"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"Xoá nhật ký cuộc gọi"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"Nhật ký cuộc gọi trống."</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Xoá nhật ký cuộc gọi"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"Bạn có chắc chắn muốn xoá nhật ký cuộc gọi không?"</string>
@@ -205,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Gọi lại"</string>
     <string name="returnCall" msgid="8171961914203617813">"Gọi lại"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> phút <xliff:g id="SECONDS">%s</xliff:g> giây"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Thường xuyên được liên hệ"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Thêm liên hệ"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Thêm \"<xliff:g id="EMAIL">%s</xliff:g>\" vào danh bạ?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"một"</string>
@@ -541,7 +548,6 @@
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
     <string name="voicemail_playback_error" msgid="5128928338910411763">"Không thể phát thư thoại"</string>
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"Mới"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"Cũ hơn"</string>
     <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"Không thể kết nối với máy chủ thư thoại."</string>
@@ -555,7 +561,8 @@
     <string name="voicemail_speed_normal" msgid="6030110237820243006">"tốc độ thông thường"</string>
     <string name="voicemail_speed_faster" msgid="4161478290979905481">"tốc độ nhanh"</string>
     <string name="voicemail_speed_fastest" msgid="3373646875150544205">"tốc độ nhanh nhất"</string>
-    <string name="call_log_item_count" msgid="2623628374805503262">"(%1$d)"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
+    <skip />
     <string name="group_name_hint" msgid="2659811836386413509">"Tên nhóm"</string>
     <string name="nfc_vcard_file_name" msgid="2823095213265993609">"Địa chỉ liên hệ nhận được qua NFC"</string>
     <string name="menu_show_voicemails_only" msgid="1898421289561435703">"Chỉ hiển thị thư thoại"</string>
diff --git a/res/values-zh-rCN-w470dp/strings.xml b/res/values-zh-rCN-w470dp/strings.xml
new file mode 100644
index 0000000..b9d368c
--- /dev/null
+++ b/res/values-zh-rCN-w470dp/strings.xml
@@ -0,0 +1,20 @@
+<?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="recent_updates" msgid="7673783546044751339">"更新"</string>
+</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index c496165..0547002 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -76,8 +76,7 @@
     <string name="deleteConfirmation" msgid="811706994761610640">"将会删除此联系人。"</string>
     <string name="menu_done" msgid="796017761764190697">"完成"</string>
     <string name="menu_doNotSave" msgid="58593876893538465">"取消"</string>
-    <!-- no translation found for menu_discard (6456087569315685632) -->
-    <skip />
+    <string name="menu_discard" msgid="6456087569315685632">"舍弃"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"编辑联系人"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"新建联系人"</string>
     <string name="label_phonetic_name" msgid="2288082649573927286">"拼音"</string>
@@ -164,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"添加到“联系人”"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"从通话记录中删除"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"清除通话记录"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"通话记录为空。"</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"清除通话记录"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"确定要清除通话记录吗?"</string>
@@ -206,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"重拨"</string>
     <string name="returnCall" msgid="8171961914203617813">"回拨"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> 分 <xliff:g id="SECONDS">%s</xliff:g> 秒"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"常用联系人"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"添加联系人"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"将“<xliff:g id="EMAIL">%s</xliff:g>”添加到联系人?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"一"</string>
@@ -424,10 +430,7 @@
     <!-- no translation found for from_account_format (4469138575127580203) -->
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"使用此照片"</string>
-    <!-- unknown placeholder SOURCE in contact_read_only -->
-    <skip />
-    <!-- no translation found for contact_read_only (1969214537163492087) -->
-    <skip />
+    <string name="contact_read_only" msgid="1969214537163492087">"无法在此设备上修改"</string>
     <string name="no_contact_details" msgid="6754415338321837001">"无此联系人的其他信息"</string>
     <!-- no translation found for group_read_only (7924922658394449477) -->
     <skip />
@@ -459,8 +462,7 @@
   </plurals>
     <string name="no_contacts_selected" msgid="5877803471037324613">"未选择联系人。"</string>
     <string name="add_field" msgid="2384260056674995230">"添加其他字段"</string>
-    <!-- no translation found for add_new_entry_for_section (5223080690667565044) -->
-    <skip />
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"添加新条目"</string>
     <string name="contact_status_update_attribution" msgid="752179367353018597">"来源:<xliff:g id="SOURCE">%1$s</xliff:g>"</string>
     <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"时间:<xliff:g id="DATE">%1$s</xliff:g>,来源:<xliff:g id="SOURCE">%2$s</xliff:g>"</string>
     <string name="description_star" msgid="2605854427360036550">"收藏"</string>
@@ -490,7 +492,7 @@
     <string name="custom_list_filter" msgid="7836035257402013957">"定义自定义视图"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"设置"</string>
     <string name="activity_title_contacts_filter" msgid="8275542497615516969">"要显示的联系人"</string>
-    <!-- outdated translation 377929915873428211 -->     <string name="menu_settings" msgid="1515262535785451190">"设置"</string>
+    <string name="menu_settings" msgid="1515262535785451190">"显示选项"</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="hint_findContacts" msgid="1808681193458772072">"查找联系人"</string>
@@ -513,10 +515,14 @@
     <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> 个群组"</item>
   </plurals>
     <string name="delete_group_dialog_message" msgid="295063284548750881">"您确定要删除群组“<xliff:g id="GROUP_LABEL">%1$s</xliff:g>”吗?(不会删除联系人自身。)"</string>
-    <!-- no translation found for num_contacts_in_group:one (1352418549951013448) -->
-    <!-- no translation found for num_contacts_in_group:other (8146027769011086349) -->
-    <!-- no translation found for group_list_num_contacts_in_group:one (3323065321661972446) -->
-    <!-- no translation found for group_list_num_contacts_in_group:other (6251996206137048525) -->
+  <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>
     <string name="toast_join_with_empty_contact" msgid="5015189525953438968">"请先输入联系人姓名,然后再与其他联系人合并。"</string>
     <string name="indicator_joined_contact" msgid="3321049349627022128">"已合并的联系人"</string>
     <!-- no translation found for copy_text (3257145021583508761) -->
@@ -534,70 +540,42 @@
     <string name="enter_contact_name" msgid="2930510479516059437">"请输入联系人姓名"</string>
     <string name="editGroup_title_insert" msgid="7803743109105317959">"新建群组"</string>
     <string name="editGroup_title_edit" msgid="2173278908256913247">"修改群组"</string>
-    <!-- no translation found for view_updates_from_group (1782685984905600034) -->
-    <skip />
+    <string name="view_updates_from_group" msgid="1782685984905600034">"查看更新"</string>
     <!-- no translation found for notification_voicemail_title:one (1746619685488504230) -->
     <!-- no translation found for notification_voicemail_title:other (5513481419205061254) -->
     <!-- no translation found for notification_voicemail_callers_list (1153954809339404149) -->
     <skip />
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
-    <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
-    <skip />
-    <!-- no translation found for call_log_type_date_separator (8009466658324061546) -->
-    <skip />
+    <string name="voicemail_playback_error" msgid="5128928338910411763">"无法播放语音邮件"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"新记录"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"旧记录"</string>
-    <!-- no translation found for voicemail_status_voicemail_not_available (3164200979671881947) -->
+    <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"无法连接到语音信箱服务器。"</string>
+    <string name="voicemail_status_messages_waiting" msgid="2970301042310727909">"无法连接到语音信箱服务器。新的语音邮件正在等待接收。"</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3940240432123700974">"配置您的语音信箱。"</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"音频不可用。"</string>
+    <string name="voicemail_status_action_configure" msgid="7008713959076506385">"配置"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"呼叫语音信箱"</string>
+    <string name="voicemail_speed_slowest" msgid="6047030504814773029">"最慢速度"</string>
+    <string name="voicemail_speed_slower" msgid="7890393922358642543">"慢速"</string>
+    <string name="voicemail_speed_normal" msgid="6030110237820243006">"正常速度"</string>
+    <string name="voicemail_speed_faster" msgid="4161478290979905481">"快速"</string>
+    <string name="voicemail_speed_fastest" msgid="3373646875150544205">"最快速度"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
-    <!-- no translation found for voicemail_status_messages_waiting (2970301042310727909) -->
-    <skip />
-    <!-- no translation found for voicemail_status_configure_voicemail (3940240432123700974) -->
-    <skip />
-    <!-- no translation found for voicemail_status_audio_not_available (3369618334553341626) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_configure (7008713959076506385) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_call_server (1824816252288551794) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slowest (6047030504814773029) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slower (7890393922358642543) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_normal (6030110237820243006) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_faster (4161478290979905481) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
-    <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
-    <skip />
-    <!-- no translation found for group_name_hint (2659811836386413509) -->
-    <skip />
-    <!-- no translation found for nfc_vcard_file_name (2823095213265993609) -->
-    <skip />
-    <!-- no translation found for menu_show_voicemails_only (1898421289561435703) -->
-    <skip />
-    <!-- no translation found for status_available (5586870015822828392) -->
-    <skip />
-    <!-- no translation found for status_away (1838861100379804730) -->
-    <skip />
-    <!-- no translation found for status_busy (9147992455450257136) -->
-    <skip />
-    <!-- no translation found for description_call_log_call_button (8207201401459528442) -->
-    <skip />
-    <!-- no translation found for description_call_log_play_button (651182125650429846) -->
-    <skip />
-    <!-- no translation found for description_call_log_incoming_call (4485427487637250143) -->
-    <skip />
-    <!-- no translation found for description_call_log_outgoing_call (604831756853471658) -->
-    <skip />
-    <!-- no translation found for description_call_log_missed_call (2242805209983708825) -->
-    <skip />
-    <!-- no translation found for description_call_log_voicemail (4600798771975158948) -->
-    <skip />
-    <!-- no translation found for description_call_log_unheard_voicemail (118101684236996786) -->
-    <skip />
+    <string name="group_name_hint" msgid="2659811836386413509">"群组名称"</string>
+    <string name="nfc_vcard_file_name" msgid="2823095213265993609">"已通过 NFC 收到联系人信息"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"只显示语音邮件"</string>
+    <string name="status_available" msgid="5586870015822828392">"在线"</string>
+    <string name="status_away" msgid="1838861100379804730">"离开"</string>
+    <string name="status_busy" msgid="9147992455450257136">"忙碌"</string>
+    <string name="description_call_log_call_button" msgid="8207201401459528442">"拨打号码"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"播放语音邮件"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"来电"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"去电"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"未接电话"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"语音邮件"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"未收听的语音邮件"</string>
     <!-- no translation found for call_log_empty_gecode (5588904744812100846) -->
     <skip />
 </resources>
diff --git a/res/values-zh-rTW-w470dp/strings.xml b/res/values-zh-rTW-w470dp/strings.xml
new file mode 100644
index 0000000..b9d368c
--- /dev/null
+++ b/res/values-zh-rTW-w470dp/strings.xml
@@ -0,0 +1,20 @@
+<?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="recent_updates" msgid="7673783546044751339">"更新"</string>
+</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index e13e5b6..621250c 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -76,8 +76,7 @@
     <string name="deleteConfirmation" msgid="811706994761610640">"刪除此聯絡人?"</string>
     <string name="menu_done" msgid="796017761764190697">"完成"</string>
     <string name="menu_doNotSave" msgid="58593876893538465">"取消"</string>
-    <!-- no translation found for menu_discard (6456087569315685632) -->
-    <skip />
+    <string name="menu_discard" msgid="6456087569315685632">"捨棄"</string>
     <string name="editContact_title_edit" msgid="7678695190666836093">"編輯聯絡人"</string>
     <string name="editContact_title_insert" msgid="9125600232291405757">"新增聯絡人"</string>
     <string name="label_phonetic_name" msgid="2288082649573927286">"拼音"</string>
@@ -164,6 +163,10 @@
     <string name="recentCalls_addToContact" msgid="1429899535546487008">"新增至通訊錄"</string>
     <string name="recentCalls_removeFromRecentList" msgid="401662244636511330">"從通話記錄中移除"</string>
     <string name="recentCalls_deleteAll" msgid="6352364392762163704">"清除通話記錄"</string>
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <string name="recentCalls_empty" msgid="247053222448663107">"無通話記錄。"</string>
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"清除通話記錄"</string>
     <string name="clearCallLogConfirmation" msgid="7625927669136267636">"確定要清除通話記錄嗎?"</string>
@@ -206,7 +209,10 @@
     <string name="callAgain" msgid="3197312117049874778">"重撥"</string>
     <string name="returnCall" msgid="8171961914203617813">"回電"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> 分 <xliff:g id="SECONDS">%s</xliff:g> 秒"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"常用聯絡人"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"新增聯絡人"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"要將「<xliff:g id="EMAIL">%s</xliff:g>」加到通訊錄嗎?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"1"</string>
@@ -424,10 +430,7 @@
     <!-- no translation found for from_account_format (4469138575127580203) -->
     <skip />
     <string name="use_photo_as_primary" msgid="8807110122951157246">"使用此相片"</string>
-    <!-- unknown placeholder SOURCE in contact_read_only -->
-    <skip />
-    <!-- no translation found for contact_read_only (1969214537163492087) -->
-    <skip />
+    <string name="contact_read_only" msgid="1969214537163492087">"無法在這個裝置上編輯"</string>
     <string name="no_contact_details" msgid="6754415338321837001">"沒有此聯絡人的其他資訊"</string>
     <!-- no translation found for group_read_only (7924922658394449477) -->
     <skip />
@@ -459,8 +462,7 @@
   </plurals>
     <string name="no_contacts_selected" msgid="5877803471037324613">"未選取任何聯絡人。"</string>
     <string name="add_field" msgid="2384260056674995230">"新增其他欄位"</string>
-    <!-- no translation found for add_new_entry_for_section (5223080690667565044) -->
-    <skip />
+    <string name="add_new_entry_for_section" msgid="5223080690667565044">"新增"</string>
     <string name="contact_status_update_attribution" msgid="752179367353018597">"透過 <xliff:g id="SOURCE">%1$s</xliff:g>"</string>
     <string name="contact_status_update_attribution_with_date" msgid="7358045508107825068">"<xliff:g id="DATE">%1$s</xliff:g> (透過 <xliff:g id="SOURCE">%2$s</xliff:g>)"</string>
     <string name="description_star" msgid="2605854427360036550">"我的最愛"</string>
@@ -490,7 +492,7 @@
     <string name="custom_list_filter" msgid="7836035257402013957">"定義自訂檢視"</string>
     <string name="activity_title_settings" msgid="5464130076132770781">"設定"</string>
     <string name="activity_title_contacts_filter" msgid="8275542497615516969">"要顯示的聯絡人"</string>
-    <!-- outdated translation 377929915873428211 -->     <string name="menu_settings" msgid="1515262535785451190">"設定"</string>
+    <string name="menu_settings" msgid="1515262535785451190">"顯示選項"</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="hint_findContacts" msgid="1808681193458772072">"尋找聯絡人"</string>
@@ -513,10 +515,14 @@
     <item quantity="other" msgid="1276758425904917367">"<xliff:g id="COUNT">%0$d</xliff:g> 個群組"</item>
   </plurals>
     <string name="delete_group_dialog_message" msgid="295063284548750881">"您確定要刪除「<xliff:g id="GROUP_LABEL">%1$s</xliff:g>」群組?這並不會刪除聯絡人本身。"</string>
-    <!-- no translation found for num_contacts_in_group:one (1352418549951013448) -->
-    <!-- no translation found for num_contacts_in_group:other (8146027769011086349) -->
-    <!-- no translation found for group_list_num_contacts_in_group:one (3323065321661972446) -->
-    <!-- no translation found for group_list_num_contacts_in_group:other (6251996206137048525) -->
+  <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="5015189525953438968">"請先輸入聯絡人姓名,然後才能與其他聯絡人合併。"</string>
     <string name="indicator_joined_contact" msgid="3321049349627022128">"已合併的聯絡人"</string>
     <!-- no translation found for copy_text (3257145021583508761) -->
@@ -534,69 +540,42 @@
     <string name="enter_contact_name" msgid="2930510479516059437">"輸入聯絡人名稱"</string>
     <string name="editGroup_title_insert" msgid="7803743109105317959">"新群組"</string>
     <string name="editGroup_title_edit" msgid="2173278908256913247">"編輯群組"</string>
-    <!-- no translation found for view_updates_from_group (1782685984905600034) -->
-    <skip />
+    <string name="view_updates_from_group" msgid="1782685984905600034">"查看更新"</string>
     <!-- no translation found for notification_voicemail_title:one (1746619685488504230) -->
     <!-- no translation found for notification_voicemail_title:other (5513481419205061254) -->
     <!-- no translation found for notification_voicemail_callers_list (1153954809339404149) -->
     <skip />
     <!-- no translation found for notification_new_voicemail_ticker (895342132049452081) -->
     <skip />
-    <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
-    <skip />
-    <string name="call_log_type_date_separator" msgid="8009466658324061546">"/"</string>
+    <string name="voicemail_playback_error" msgid="5128928338910411763">"無法播放語音留言"</string>
     <string name="call_log_new_header" msgid="846546437517724715">"最新"</string>
     <string name="call_log_old_header" msgid="6262205894314263629">"較舊"</string>
-    <!-- no translation found for voicemail_status_voicemail_not_available (3164200979671881947) -->
+    <string name="voicemail_status_voicemail_not_available" msgid="3164200979671881947">"無法連線至語音信箱伺服器。"</string>
+    <string name="voicemail_status_messages_waiting" msgid="2970301042310727909">"無法連線至語音信箱伺服器,新的語音留言仍待聽取。"</string>
+    <string name="voicemail_status_configure_voicemail" msgid="3940240432123700974">"設定您的語音信箱。"</string>
+    <string name="voicemail_status_audio_not_available" msgid="3369618334553341626">"無法使用音訊。"</string>
+    <string name="voicemail_status_action_configure" msgid="7008713959076506385">"設定"</string>
+    <string name="voicemail_status_action_call_server" msgid="1824816252288551794">"撥打語音信箱號碼"</string>
+    <string name="voicemail_speed_slowest" msgid="6047030504814773029">"最慢速"</string>
+    <string name="voicemail_speed_slower" msgid="7890393922358642543">"慢速"</string>
+    <string name="voicemail_speed_normal" msgid="6030110237820243006">"正常速度"</string>
+    <string name="voicemail_speed_faster" msgid="4161478290979905481">"快速"</string>
+    <string name="voicemail_speed_fastest" msgid="3373646875150544205">"最快速"</string>
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
-    <!-- no translation found for voicemail_status_messages_waiting (2970301042310727909) -->
-    <skip />
-    <!-- no translation found for voicemail_status_configure_voicemail (3940240432123700974) -->
-    <skip />
-    <!-- no translation found for voicemail_status_audio_not_available (3369618334553341626) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_configure (7008713959076506385) -->
-    <skip />
-    <!-- no translation found for voicemail_status_action_call_server (1824816252288551794) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slowest (6047030504814773029) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_slower (7890393922358642543) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_normal (6030110237820243006) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_faster (4161478290979905481) -->
-    <skip />
-    <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
-    <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
-    <skip />
-    <!-- no translation found for group_name_hint (2659811836386413509) -->
-    <skip />
-    <!-- no translation found for nfc_vcard_file_name (2823095213265993609) -->
-    <skip />
-    <!-- no translation found for menu_show_voicemails_only (1898421289561435703) -->
-    <skip />
-    <!-- no translation found for status_available (5586870015822828392) -->
-    <skip />
-    <!-- no translation found for status_away (1838861100379804730) -->
-    <skip />
-    <!-- no translation found for status_busy (9147992455450257136) -->
-    <skip />
-    <!-- no translation found for description_call_log_call_button (8207201401459528442) -->
-    <skip />
-    <!-- no translation found for description_call_log_play_button (651182125650429846) -->
-    <skip />
-    <!-- no translation found for description_call_log_incoming_call (4485427487637250143) -->
-    <skip />
-    <!-- no translation found for description_call_log_outgoing_call (604831756853471658) -->
-    <skip />
-    <!-- no translation found for description_call_log_missed_call (2242805209983708825) -->
-    <skip />
-    <!-- no translation found for description_call_log_voicemail (4600798771975158948) -->
-    <skip />
-    <!-- no translation found for description_call_log_unheard_voicemail (118101684236996786) -->
-    <skip />
+    <string name="group_name_hint" msgid="2659811836386413509">"群組名稱"</string>
+    <string name="nfc_vcard_file_name" msgid="2823095213265993609">"已透過 NFC 收到聯絡人資訊"</string>
+    <string name="menu_show_voicemails_only" msgid="1898421289561435703">"僅顯示語音留言"</string>
+    <string name="status_available" msgid="5586870015822828392">"線上"</string>
+    <string name="status_away" msgid="1838861100379804730">"離開"</string>
+    <string name="status_busy" msgid="9147992455450257136">"忙碌"</string>
+    <string name="description_call_log_call_button" msgid="8207201401459528442">"撥打號碼"</string>
+    <string name="description_call_log_play_button" msgid="651182125650429846">"播放語音留言"</string>
+    <string name="description_call_log_incoming_call" msgid="4485427487637250143">"來電"</string>
+    <string name="description_call_log_outgoing_call" msgid="604831756853471658">"播出通話"</string>
+    <string name="description_call_log_missed_call" msgid="2242805209983708825">"未接來電"</string>
+    <string name="description_call_log_voicemail" msgid="4600798771975158948">"語音信箱"</string>
+    <string name="description_call_log_unheard_voicemail" msgid="118101684236996786">"未聽取的語音留言"</string>
     <!-- no translation found for call_log_empty_gecode (5588904744812100846) -->
     <skip />
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index b369466..3a8017a 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -220,6 +220,10 @@
     <skip />
     <!-- no translation found for recentCalls_deleteAll (6352364392762163704) -->
     <skip />
+    <!-- no translation found for recentCalls_trashVoicemail (7604696960787435655) -->
+    <skip />
+    <!-- no translation found for recentCalls_shareVoicemail (1416112847592942840) -->
+    <skip />
     <!-- no translation found for recentCalls_empty (247053222448663107) -->
     <skip />
     <string name="clearCallLogConfirmation_title" msgid="718072843006222703">"Sula ifayela lokungena"</string>
@@ -272,7 +276,10 @@
     <string name="callAgain" msgid="3197312117049874778">"Shayela futhi"</string>
     <string name="returnCall" msgid="8171961914203617813">"Buyisela ikholi"</string>
     <string name="callDetailsDurationFormat" msgid="8157706382818184268">"<xliff:g id="MINUTES">%s</xliff:g> amaminithi <xliff:g id="SECONDS">%s</xliff:g> amasekhondi"</string>
-    <string name="favoritesFrquentSeparator" msgid="8107518433381283736">"Abathintwa njalo"</string>
+    <!-- no translation found for favoritesFrequentContacted (6184232487472425690) -->
+    <skip />
+    <!-- no translation found for favoritesFrequentCalled (6128306889600696124) -->
+    <skip />
     <string name="add_contact_dlg_title" msgid="2896685845822146494">"Faka othintana naye"</string>
     <string name="add_contact_dlg_message_fmt" msgid="7986472669444326576">"Faka  \"<xliff:g id="EMAIL">%s</xliff:g>\"  kothintana nabo?"</string>
     <string name="description_image_button_one" msgid="1740638037139856139">"kunye"</string>
@@ -623,8 +630,6 @@
     <skip />
     <!-- no translation found for voicemail_playback_error (5128928338910411763) -->
     <skip />
-    <!-- no translation found for call_log_type_date_separator (8009466658324061546) -->
-    <skip />
     <!-- no translation found for call_log_new_header (846546437517724715) -->
     <skip />
     <!-- no translation found for call_log_old_header (6262205894314263629) -->
@@ -651,7 +656,7 @@
     <skip />
     <!-- no translation found for voicemail_speed_fastest (3373646875150544205) -->
     <skip />
-    <!-- no translation found for call_log_item_count (2623628374805503262) -->
+    <!-- no translation found for call_log_item_count_and_date (7641933305703520787) -->
     <skip />
     <!-- no translation found for group_name_hint (2659811836386413509) -->
     <skip />
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index 79d12f9..4d4050e 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -95,6 +95,7 @@
         <attr name="list_item_header_height" format="dimension" />
         <attr name="list_item_header_underline_height" format="dimension" />
         <attr name="list_item_header_underline_color" format="color" />
+        <attr name="list_item_contacts_count_text_color" format="color" />
     </declare-styleable>
 
     <declare-styleable name="CallLog">
diff --git a/res/values/colors.xml b/res/values/colors.xml
index a9d745f..6e6cadb 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -31,12 +31,6 @@
 
     <color name="background_social_updates">#ffeeeeee</color>
 
-    <color name="social_update_text_color">#ff333333</color>
-
-    <color name="social_update_attribution_color">#ff777777</color>
-
-    <color name="social_update_comments_color">#ff777777</color>
-
     <!-- Color used for the letter in the A-Z section header -->
     <color name="section_header_text_color">#ff999999</color>
 
@@ -101,4 +95,8 @@
 
     <!-- Color of the text for buttons in the action bar  -->
     <color name="action_bar_button_text_color">#FFFFFF</color>
+
+    <!-- Color of the vertical and horizontal dividers for starred contacts in the Phone app -->
+    <color name="phone_contact_tile_divider_color">#D8000000</color>
+
 </resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 1b737bc..5bc8ea0 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -14,8 +14,6 @@
      limitations under the License.
 -->
 <resources>
-    <dimen name="edit_photo_size">42dip</dimen>
-
     <!-- The height of the ScrollingTabWidget -->
     <dimen name="tab_height">40dip</dimen>
     <dimen name="account_name_height">25dip</dimen>
@@ -33,12 +31,21 @@
     based on the source of the request -->
     <dimen name="quick_contact_top_position">48dip</dimen>
 
+    <!-- Top padding of the entire contact editor  -->
+    <dimen name="editor_padding_top">0dip</dimen>
+
     <!-- Padding of the rounded plus/minus/expand/collapse buttons in the editor  -->
     <dimen name="editor_round_button_padding_left">2dip</dimen>
     <dimen name="editor_round_button_padding_right">2dip</dimen>
     <dimen name="editor_round_button_padding_top">4dip</dimen>
     <dimen name="editor_round_button_padding_bottom">4dip</dimen>
 
+    <!-- Left padding of the kind title in the contact editor -->
+    <dimen name="editor_kind_title_left_padding">8dip</dimen>
+
+    <!-- Left padding of the label in the add field button for the contact editor -->
+    <dimen name="editor_add_field_label_left_padding">16dip</dimen>
+
     <!-- Width of the Type-Label in the Editor -->
     <dimen name="editor_type_label_width">100dip</dimen>
 
@@ -48,12 +55,6 @@
     <!-- Right padding of a field in the Editor -->
     <dimen name="editor_field_right_padding">4dip</dimen>
 
-    <!-- Top padding of a field in the Editor -->
-    <dimen name="editor_field_top_padding">10dip</dimen>
-
-    <!-- Bottom padding of a field in the Editor -->
-    <dimen name="editor_field_bottom_padding">5dip</dimen>
-
     <!-- Minimum height of a row in the Editor -->
     <dimen name="editor_min_line_item_height">48dip</dimen>
 
@@ -75,9 +76,6 @@
     <!-- Width of the title labels in the contact editor -->
     <dimen name="editor_title_label_width">120dip</dimen>
 
-    <!-- Interpolator layout narrow width value of the contact editor -->
-    <dimen name="editor_interpolator_narrow_width">600dip</dimen>
-
     <!-- Height of the attribution text view in the contact detail header view -->
     <dimen name="detail_header_attribution_height">40dip</dimen>
 
@@ -108,12 +106,28 @@
     <!-- Vertical padding above and below individual stream items -->
     <dimen name="detail_update_section_item_vertical_padding">16dip</dimen>
 
+    <!-- Vertical padding between rows of images in a single stream item -->
+    <dimen name="detail_update_section_between_items_vertical_padding">16dip</dimen>
+
+    <!-- The extra padding to be added at the end of last row in a stream items, i.e., the
+         difference between detail_update_section_item_vertical_padding and
+         detail_update_section_between_items_vertical_padding
+      -->
+    <dimen name="detail_update_section_item_last_row_extra_vertical_padding">0dip</dimen>
+
     <!-- Horizontal padding for individual stream items -->
     <dimen name="detail_update_section_item_horizontal_padding">24dip</dimen>
 
+    <!-- Horizontal padding between columns images and/or text in a single stream item -->
+    <dimen name="detail_update_section_between_items_horizontal_padding">16dip</dimen>
+
     <!-- Horizontal padding between content sections within a stream item -->
     <dimen name="detail_update_section_internal_padding">16dip</dimen>
 
+    <!-- Horizontal padding between attribution and comments -->
+    <dimen name="detail_update_section_attribution_comments_padding">4dip</dimen>
+
+
     <!-- Margin around the contact's photo on the contact card -->
     <dimen name="detail_contact_photo_margin">16dip</dimen>
 
@@ -175,14 +189,8 @@
     <!-- Size of group list icons -->
     <dimen name="group_list_icon_size">32dip</dimen>
 
-    <!-- Border padding for the group detail fragment header -->
-    <dimen name="group_detail_border_padding">20dip</dimen>
-
-    <!-- Vertical padding for the group detail fragment header -->
-    <dimen name="group_detail_vertical_padding">15dip</dimen>
-
-    <!-- Margins for the group detail fragment divider in the header -->
-    <dimen name="group_detail_divider_margin">15dip</dimen>
+    <!-- Border padding for the group detail fragment -->
+    <dimen name="group_detail_border_padding">32dip</dimen>
 
     <!-- Height of the member list in the group editor -->
     <dimen name="group_editor_member_list_height">550dip</dimen>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index abe1d01..2e8983f 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -110,10 +110,10 @@
     <string name="menu_removeStar">Remove from favorites</string>
 
     <!-- Menu item used to edit a specific contact -->
-    <string name="menu_editContact">Edit contact</string>
+    <string name="menu_editContact">Edit</string>
 
     <!-- Menu item used to delete a specific contact -->
-    <string name="menu_deleteContact">Delete contact</string>
+    <string name="menu_deleteContact">Delete</string>
 
     <!-- Menu item used to call a specific contact when viewing the details of that contact. -->
     <string name="menu_call">Call contact</string>
@@ -129,13 +129,13 @@
     <string name="menu_splitAggregate">Separate</string>
 
     <!-- Menu item that edits the currently selected group [CHAR LIMIT=30] -->
-    <string name="menu_editGroup">Edit group</string>
+    <string name="menu_editGroup">Edit</string>
 
     <!-- Menu item that renames the currently selected group [CHAR LIMIT=30] -->
     <string name="menu_renameGroup">Rename group</string>
 
     <!-- Menu item that deletes the currently selected group [CHAR LIMIT=30] -->
-    <string name="menu_deleteGroup">Delete group</string>
+    <string name="menu_deleteGroup">Delete</string>
 
     <!-- Menu item (in the action bar) that creates a new contacts [CHAR LIMIT=12] -->
     <string name="menu_new_contact_action_bar">New</string>
@@ -182,7 +182,7 @@
     <string name="menu_set_ring_tone">Set ringtone</string>
 
     <!-- Menu item that opens the Options activity for a given contact [CHAR LIMIT=30] -->
-    <string name="menu_redirect_calls_to_vm">Redirect calls to voicemail</string>
+    <string name="menu_redirect_calls_to_vm">All calls to voicemail</string>
 
     <!-- Warning dialog contents after users selects to delete a ReadOnly contact. -->
     <string name="readOnlyContactWarning">You cannot delete contacts from read-only accounts, but you can hide them in your contacts lists.</string>
@@ -205,12 +205,6 @@
     <!-- Menu item to indicate you want to stop editing a contact and NOT save the changes you've made [CHAR LIMIT=12] -->
     <string name="menu_discard">Discard</string>
 
-    <!-- The title of the activity that edits and existing contact -->
-    <string name="editContact_title_edit">Edit contact</string>
-
-    <!-- The title of the activity that creates a new contact -->
-    <string name="editContact_title_insert">New contact</string>
-
     <!-- The label describing the phonetic pronunciation/reading of a contact name [CHAR LIMIT=20] -->
     <string name="label_phonetic_name">Phonetic</string>
 
@@ -1040,7 +1034,7 @@
     <string name="dialog_import_export">Import/Export contacts</string>
 
     <!-- The menu item to share the currently viewed contact [CHAR LIMIT=30] -->
-    <string name="menu_share">Share contact</string>
+    <string name="menu_share">Share</string>
 
     <!-- Dialog title when picking the application to share a contact with. -->
     <string name="share_via">Share contact via</string>
@@ -1598,17 +1592,11 @@
 
     <!-- Text displayed in place of the display name for the contact that represents the user's
       personal profile entry [CHAR LIMIT=64] -->
-    <string name="profile_display_name">My profile</string>
+    <string name="profile_display_name">Set up my profile</string>
 
     <!-- Label to instruct the user to type in a contact's name to add the contact as a member of the current group. [CHAR LIMIT=64] -->
     <string name="enter_contact_name">Enter contact\'s name</string>
 
-    <!-- The title of the activity that creates a new group [CHAR LIMIT=NONE] -->
-    <string name="editGroup_title_insert">New group</string>
-
-    <!-- The title of the activity that edits an existing group [CHAR LIMIT=NONE] -->
-    <string name="editGroup_title_edit">Edit group</string>
-
     <!-- Button to view the updates from the current group on the group detail page [CHAR LIMIT=20] -->
     <string name="view_updates_from_group">View updates</string>
 
@@ -1755,4 +1743,10 @@
     <!-- The string used to represent an unknown location for a phone number in the call log [CHAR LIMIT=3] -->
     <string name="call_log_empty_gecode">-</string>
 
+    <!-- String describing the text on the header of the profile contact in the contacts list [CHAR LIMIT=20] -->
+    <string name="user_profile_contacts_list_header">ME</string>
+
+    <!-- Toast shown when the app starts showing all contacts regardless of its current
+         contact filter state. [CHAR LIMIT=64] -->
+    <string name="toast_displaying_all_contacts">Displaying all contacts</string>
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index b25f0af..763a600 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -76,7 +76,6 @@
 
     <style name="ContactDetailActivityTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar">
         <item name="android:actionBarStyle">@style/ContactsActionBarStyle</item>
-        <item name="android:windowContentOverlay">@null</item>
         <item name="android:textColorPrimary">@color/primary_text_color</item>
         <item name="android:textColorSecondary">@color/secondary_text_color</item>
     </style>
@@ -123,6 +122,7 @@
 
     <style name="PeopleTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar">
         <item name="android:actionBarStyle">@style/ContactsActionBarStyle</item>
+        <item name="android:actionBarTabStyle">@style/ContactsActionBarTabView</item>
         <item name="android:textColorPrimary">@color/primary_text_color</item>
         <item name="android:textColorSecondary">@color/secondary_text_color</item>
         <item name="list_item_height">?android:attr/listPreferredItemHeight</item>
@@ -149,6 +149,7 @@
         <item name="list_item_header_height">26dip</item>
         <item name="list_item_header_underline_height">1px</item>
         <item name="list_item_header_underline_color">@color/people_app_theme_color</item>
+        <item name="list_item_contacts_count_text_color">@color/contact_count_text_color</item>
         <item name="contact_filter_popup_width">320dip</item>
         <!-- Favorites -->
         <item name="favorites_padding_bottom">0dip</item>
@@ -159,6 +160,10 @@
         <item name="android:backgroundStacked">@drawable/ab_solid_custom_blue_inverse_holo</item>
     </style>
 
+    <style name="ContactsActionBarTabView" parent="@android:style/Widget.Holo.ActionBar.TabView">
+        <item name="android:background">@drawable/action_bar_tab</item>
+    </style>
+
     <!-- TODO: Clean up this file so themes aren't copied. -->
     <style name="GroupDetailTheme" parent="@android:style/Theme.Holo.Light.DarkActionBar">
         <item name="android:actionBarStyle">@style/ContactsActionBarStyle</item>
@@ -279,8 +284,6 @@
 
     <style name="ContactTileStarred">
         <item name="android:focusable">true</item>
-        <item name="android:padding">1px</item>
-        <item name="android:background">@drawable/list_selector</item>
     </style>
 
     <style name="ContactTileStarredName">
@@ -300,6 +303,16 @@
         <item name="android:background">#7F000000</item>
     </style>
 
+    <style name="FavoritesFragmentStyle">
+        <item name="android:layout_width">0dip</item>
+        <item name="android:layout_weight">1</item>
+    </style>
+
+    <style name="FrequentFragmentStyle">
+        <item name="android:layout_width">0dip</item>
+        <item name="android:layout_weight">1</item>
+    </style>
+
     <style name="DialtactsActionBarStyle" parent="android:Widget.Holo.ActionBar">
         <item name="android:backgroundSplit">@drawable/ab_bottom_opaque_dark_holo</item>
         <item name="android:backgroundStacked">@drawable/ab_stacked_opaque_dark_holo</item>
diff --git a/src/com/android/contacts/CallDetailActivity.java b/src/com/android/contacts/CallDetailActivity.java
index 43e6fc7..80219d9 100644
--- a/src/com/android/contacts/CallDetailActivity.java
+++ b/src/com/android/contacts/CallDetailActivity.java
@@ -116,6 +116,7 @@
         CallLog.Calls.NUMBER,
         CallLog.Calls.TYPE,
         CallLog.Calls.COUNTRY_ISO,
+        CallLog.Calls.GEOCODED_LOCATION,
     };
 
     static final int DATE_COLUMN_INDEX = 0;
@@ -123,6 +124,7 @@
     static final int NUMBER_COLUMN_INDEX = 2;
     static final int CALL_TYPE_COLUMN_INDEX = 3;
     static final int COUNTRY_ISO_COLUMN_INDEX = 4;
+    static final int GEOCODED_LOCATION_COLUMN_INDEX = 5;
 
     static final String[] PHONES_PROJECTION = new String[] {
         PhoneLookup._ID,
@@ -403,6 +405,8 @@
             long duration = callCursor.getLong(DURATION_COLUMN_INDEX);
             int callType = callCursor.getInt(CALL_TYPE_COLUMN_INDEX);
             String countryIso = callCursor.getString(COUNTRY_ISO_COLUMN_INDEX);
+            final String geocode = callCursor.getString(GEOCODED_LOCATION_COLUMN_INDEX);
+
             if (TextUtils.isEmpty(countryIso)) {
                 countryIso = mDefaultCountryIso;
             }
@@ -448,7 +452,7 @@
                     numberText = candidateNumberText;
                 }
             }
-            return new PhoneCallDetails(number, numberText, countryIso,
+            return new PhoneCallDetails(number, numberText, countryIso, geocode,
                     new int[]{ callType }, date, duration,
                     nameText, numberType, numberLabel, personId, photoUri);
         } finally {
diff --git a/src/com/android/contacts/ContactLoader.java b/src/com/android/contacts/ContactLoader.java
index 9daa1e0..064deb5 100644
--- a/src/com/android/contacts/ContactLoader.java
+++ b/src/com/android/contacts/ContactLoader.java
@@ -30,6 +30,7 @@
 import android.content.Context;
 import android.content.Entity;
 import android.content.Entity.NamedContentValues;
+import android.content.Intent;
 import android.content.Loader;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager.NameNotFoundException;
@@ -128,6 +129,7 @@
         private byte[] mPhotoBinaryData;
         private boolean mSendToVoicemail;
         private String mCustomRingtone;
+        private boolean mIsUserProfile;
 
         /**
          * Constructor for case "no contact found". This must only be used for the
@@ -154,6 +156,8 @@
             mInvitableAccountTypes = null;
             mSendToVoicemail = false;
             mCustomRingtone = null;
+            mIsUserProfile = false;
+
         }
 
         /**
@@ -162,7 +166,8 @@
         private Result(Uri uri, Uri lookupUri, long directoryId, String lookupKey, long id,
                 long nameRawContactId, int displayNameSource, long photoId, String photoUri,
                 String displayName, String altDisplayName, String phoneticName, boolean starred,
-                Integer presence, boolean sendToVoicemail, String customRingtone) {
+                Integer presence, boolean sendToVoicemail, String customRingtone,
+                boolean isUserProfile) {
             mLookupUri = lookupUri;
             mUri = uri;
             mDirectoryId = directoryId;
@@ -183,6 +188,7 @@
             mInvitableAccountTypes = Lists.newArrayList();
             mSendToVoicemail = sendToVoicemail;
             mCustomRingtone = customRingtone;
+            mIsUserProfile = isUserProfile;
         }
 
         private Result(Result from) {
@@ -217,6 +223,7 @@
             mPhotoBinaryData = from.mPhotoBinaryData;
             mSendToVoicemail = from.mSendToVoicemail;
             mCustomRingtone = from.mCustomRingtone;
+            mIsUserProfile = from.mIsUserProfile;
         }
 
         /**
@@ -394,6 +401,10 @@
         public String getCustomRingtone() {
             return mCustomRingtone;
         }
+
+        public boolean isUserProfile() {
+            return mIsUserProfile;
+        }
     }
 
     /**
@@ -471,6 +482,7 @@
                 Contacts.PHOTO_URI,
                 Contacts.SEND_TO_VOICEMAIL,
                 Contacts.CUSTOM_RINGTONE,
+                Contacts.IS_USER_PROFILE,
         };
 
         public final static int NAME_RAW_CONTACT_ID = 0;
@@ -542,6 +554,7 @@
         public final static int PHOTO_URI = 61;
         public final static int SEND_TO_VOICEMAIL = 62;
         public final static int CUSTOM_RINGTONE = 63;
+        public final static int IS_USER_PROFILE = 64;
     }
 
     /**
@@ -772,7 +785,7 @@
 
             HashMap<String, AccountType> result = new HashMap<String, AccountType>(allInvitables);
 
-            // Remove the ones that already has a raw contact in the current contact
+            // Remove the ones that already have a raw contact in the current contact
             for (Entity entity : contactData.getEntities()) {
                 final String type = entity.getEntityValues().getAsString(RawContacts.ACCOUNT_TYPE);
                 if (!TextUtils.isEmpty(type)) {
@@ -808,6 +821,7 @@
                     : cursor.getInt(ContactQuery.CONTACT_PRESENCE);
             final boolean sendToVoicemail = cursor.getInt(ContactQuery.SEND_TO_VOICEMAIL) == 1;
             final String customRingtone = cursor.getString(ContactQuery.CUSTOM_RINGTONE);
+            final boolean isUserProfile = cursor.getInt(ContactQuery.IS_USER_PROFILE) == 1;
 
             Uri lookupUri;
             if (directoryId == Directory.DEFAULT || directoryId == Directory.LOCAL_INVISIBLE) {
@@ -820,7 +834,7 @@
             return new Result(contactUri, lookupUri, directoryId, lookupKey, contactId,
                     nameRawContactId, displayNameSource, photoId, photoUri, displayName,
                     altDisplayName, phoneticName, starred, presence, sendToVoicemail,
-                    customRingtone);
+                    customRingtone, isUserProfile);
         }
 
         /**
@@ -1082,12 +1096,45 @@
                     mContact.setLoadingPhoto(true);
                     new AsyncPhotoLoader().execute(mContact.getPhotoUri());
                 }
+
+                // inform the source of the data that this contact is being looked at
+                postViewNotificationToSyncAdapter();
             }
 
             deliverResult(mContact);
         }
     }
 
+    /**
+     * Posts a message to the contributing sync adapters that have opted-in, notifying them
+     * that the contact has just been loaded
+     */
+    private void postViewNotificationToSyncAdapter() {
+        Context context = getContext();
+        for (Entity entity : mContact.getEntities()) {
+            final ContentValues entityValues = entity.getEntityValues();
+            final String type = entityValues.getAsString(RawContacts.ACCOUNT_TYPE);
+            final String dataSet = entityValues.getAsString(RawContacts.DATA_SET);
+            final AccountType accountType = AccountTypeManager.getInstance(context ).getAccountType(
+                    type, dataSet);
+            final String serviceName = accountType.getViewContactNotifyServiceClassName();
+            final String resPackageName = accountType.resPackageName;
+            if (!TextUtils.isEmpty(serviceName) && !TextUtils.isEmpty(resPackageName)) {
+                final long rawContactId = entityValues.getAsLong(RawContacts.Entity._ID);
+                final Uri uri = ContentUris.withAppendedId(RawContacts.CONTENT_URI, rawContactId);
+                final Intent intent = new Intent();
+                intent.setClassName(resPackageName, serviceName);
+                intent.setAction(Intent.ACTION_VIEW);
+                intent.setDataAndType(uri, RawContacts.CONTENT_ITEM_TYPE);
+                try {
+                    context.startService(intent);
+                } catch (Exception e) {
+                    Log.e(TAG, "Error sending message to source-app", e);
+                }
+            }
+        }
+    }
+
     private class AsyncPhotoLoader extends AsyncTask<String, Void, byte[]> {
 
         private static final int BUFFER_SIZE = 1024*16;
diff --git a/src/com/android/contacts/ContactSaveService.java b/src/com/android/contacts/ContactSaveService.java
index 221796a..3bb330f 100644
--- a/src/com/android/contacts/ContactSaveService.java
+++ b/src/com/android/contacts/ContactSaveService.java
@@ -46,6 +46,7 @@
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.Data;
 import android.provider.ContactsContract.Groups;
+import android.provider.ContactsContract.Profile;
 import android.provider.ContactsContract.RawContacts;
 import android.util.Log;
 import android.widget.Toast;
@@ -75,6 +76,7 @@
     public static final String ACTION_SAVE_CONTACT = "saveContact";
     public static final String EXTRA_CONTACT_STATE = "state";
     public static final String EXTRA_SAVE_MODE = "saveMode";
+    public static final String EXTRA_SAVE_IS_PROFILE = "saveIsProfile";
 
     public static final String ACTION_CREATE_GROUP = "createGroup";
     public static final String ACTION_RENAME_GROUP = "renameGroup";
@@ -269,12 +271,13 @@
      * using data presented as a set of ContentValues.
      */
     public static Intent createSaveContactIntent(Context context, EntityDeltaList state,
-            String saveModeExtraKey, int saveMode, Class<?> callbackActivity,
+            String saveModeExtraKey, int saveMode, boolean isProfile, Class<?> callbackActivity,
             String callbackAction) {
         Intent serviceIntent = new Intent(
                 context, ContactSaveService.class);
         serviceIntent.setAction(ContactSaveService.ACTION_SAVE_CONTACT);
         serviceIntent.putExtra(EXTRA_CONTACT_STATE, (Parcelable) state);
+        serviceIntent.putExtra(EXTRA_SAVE_IS_PROFILE, isProfile);
 
         // Callback intent will be invoked by the service once the contact is
         // saved.  The service will put the URI of the new contact as "data" on
@@ -289,6 +292,7 @@
     private void saveContact(Intent intent) {
         EntityDeltaList state = intent.getParcelableExtra(EXTRA_CONTACT_STATE);
         Intent callbackIntent = intent.getParcelableExtra(EXTRA_CALLBACK_INTENT);
+        boolean isProfile = intent.getBooleanExtra(EXTRA_SAVE_IS_PROFILE, false);
 
         // Trim any empty fields, and RawContacts, before persisting
         final AccountTypeManager accountTypes = AccountTypeManager.getInstance(this);
@@ -321,7 +325,8 @@
                     throw new IllegalStateException("Could not determine RawContact ID after save");
                 }
                 final Uri rawContactUri = ContentUris.withAppendedId(
-                        RawContacts.CONTENT_URI, rawContactId);
+                        isProfile ? Profile.CONTENT_RAW_CONTACTS_URI : RawContacts.CONTENT_URI,
+                                rawContactId);
                 lookupUri = RawContacts.getContactLookupUri(resolver, rawContactUri);
                 Log.v(TAG, "Saved contact. New URI: " + lookupUri);
                 break;
diff --git a/src/com/android/contacts/PhoneCallDetails.java b/src/com/android/contacts/PhoneCallDetails.java
index 347a303..5718091 100644
--- a/src/com/android/contacts/PhoneCallDetails.java
+++ b/src/com/android/contacts/PhoneCallDetails.java
@@ -30,6 +30,8 @@
     public final CharSequence formattedNumber;
     /** The country corresponding with the phone number. */
     public final String countryIso;
+    /** The geocoded location for the phone number. */
+    public final String geocode;
     /**
      * The type of calls, as defined in the call log table, e.g., {@link Calls#INCOMING_TYPE}.
      * <p>
@@ -56,18 +58,20 @@
 
     /** Create the details for a call with a number not associated with a contact. */
     public PhoneCallDetails(CharSequence number, CharSequence formattedNumber,
-            String countryIso, int[] callTypes, long date, long duration) {
-        this(number, formattedNumber, countryIso, callTypes, date, duration, "", 0, "", -1L, null);
+            String countryIso, String geocode, int[] callTypes, long date, long duration) {
+        this(number, formattedNumber, countryIso, geocode, callTypes, date, duration, "", 0, "",
+                -1L, null);
     }
 
     /** Create the details for a call with a number associated with a contact. */
     public PhoneCallDetails(CharSequence number, CharSequence formattedNumber,
-            String countryIso, int[] callTypes, long date, long duration,
+            String countryIso, String geocode, int[] callTypes, long date, long duration,
             CharSequence name, int numberType, CharSequence numberLabel, long personId,
             Uri photoUri) {
         this.number = number;
         this.formattedNumber = formattedNumber;
         this.countryIso = countryIso;
+        this.geocode = geocode;
         this.callTypes = callTypes;
         this.date = date;
         this.duration = duration;
diff --git a/src/com/android/contacts/PhoneCallDetailsHelper.java b/src/com/android/contacts/PhoneCallDetailsHelper.java
index 3101aee..e970fcc 100644
--- a/src/com/android/contacts/PhoneCallDetailsHelper.java
+++ b/src/com/android/contacts/PhoneCallDetailsHelper.java
@@ -107,12 +107,10 @@
             mPhoneNumberHelper.getDisplayNumber(details.number, details.formattedNumber);
         if (TextUtils.isEmpty(details.name)) {
             nameText = displayNumber;
-            String geocode = mPhoneNumberHelper.getGeocodeForNumber(
-                    details.number.toString(), details.countryIso);
-            if (TextUtils.isEmpty(geocode)) {
+            if (TextUtils.isEmpty(details.geocode)) {
                 numberText = mResources.getString(R.string.call_log_empty_gecode);
             } else {
-                numberText = geocode;
+                numberText = details.geocode;
             }
         } else {
             nameText = details.name;
diff --git a/src/com/android/contacts/activities/ContactDetailActivity.java b/src/com/android/contacts/activities/ContactDetailActivity.java
index 3cd07ca..c863b23 100644
--- a/src/com/android/contacts/activities/ContactDetailActivity.java
+++ b/src/com/android/contacts/activities/ContactDetailActivity.java
@@ -152,7 +152,6 @@
         }
 
         mDetailFragment.setListener(mFragmentListener);
-        TabCarouselScrollManager.bind(mTabCarousel, mDetailFragment, mUpdatesFragment);
         mDetailFragment.setData(mLookupUri, mContactData);
         mUpdatesFragment.setData(mLookupUri, mContactData);
 
@@ -348,6 +347,7 @@
             mTabCarousel = (ContactDetailTabCarousel) findViewById(R.id.tab_carousel);
             if (mTabCarousel != null) {
                 mTabCarousel.setListener(mTabCarouselListener);
+                TabCarouselScrollManager.bind(mTabCarousel, mDetailFragment, mUpdatesFragment);
             }
 
             mViewPager = (ViewPager) findViewById(R.id.pager);
diff --git a/src/com/android/contacts/activities/ContactEditorActivity.java b/src/com/android/contacts/activities/ContactEditorActivity.java
index 54ea05f..2936110 100644
--- a/src/com/android/contacts/activities/ContactEditorActivity.java
+++ b/src/com/android/contacts/activities/ContactEditorActivity.java
@@ -171,11 +171,6 @@
         }
 
         @Override
-        public void setTitleTo(int resourceId) {
-            setTitle(resourceId);
-        }
-
-        @Override
         public void onEditOtherContactRequested(
                 Uri contactLookupUri, ArrayList<ContentValues> values) {
             Intent intent = new Intent(Intent.ACTION_EDIT, contactLookupUri);
diff --git a/src/com/android/contacts/activities/DialtactsActivity.java b/src/com/android/contacts/activities/DialtactsActivity.java
index a943130..80bd5c1 100644
--- a/src/com/android/contacts/activities/DialtactsActivity.java
+++ b/src/com/android/contacts/activities/DialtactsActivity.java
@@ -104,6 +104,10 @@
     }
 
     public class ViewPagerAdapter extends FragmentPagerAdapter {
+        private DialpadFragment mDialpadFragment;
+        private CallLogFragment mCallLogFragment;
+        private ContactTileListFragment mContactTileListFragment;
+
         public ViewPagerAdapter(FragmentManager fm) {
             super(fm);
         }
@@ -112,11 +116,20 @@
         public Fragment getItem(int position) {
             switch (position) {
                 case TAB_INDEX_DIALER:
-                    return new DialpadFragment();
+                    if (mDialpadFragment == null) {
+                        mDialpadFragment = new DialpadFragment();
+                    }
+                    return mDialpadFragment;
                 case TAB_INDEX_CALL_LOG:
-                    return new CallLogFragment();
+                    if (mCallLogFragment == null) {
+                        mCallLogFragment = new CallLogFragment();
+                    }
+                    return mCallLogFragment;
                 case TAB_INDEX_FAVORITES:
-                    return new ContactTileListFragment();
+                    if (mContactTileListFragment == null) {
+                        mContactTileListFragment = new ContactTileListFragment();
+                    }
+                    return mContactTileListFragment;
             }
             throw new IllegalStateException("No fragment at position " + position);
         }
diff --git a/src/com/android/contacts/activities/GroupEditorActivity.java b/src/com/android/contacts/activities/GroupEditorActivity.java
index d61b6c3..b397c19 100644
--- a/src/com/android/contacts/activities/GroupEditorActivity.java
+++ b/src/com/android/contacts/activities/GroupEditorActivity.java
@@ -71,7 +71,7 @@
             saveMenuItem.setOnClickListener(new OnClickListener() {
                 @Override
                 public void onClick(View v) {
-                    mFragment.doSaveAction();
+                    mFragment.onDoneClicked();
                 }
             });
             // Show the custom action bar but hide the home icon and title
@@ -85,8 +85,13 @@
                 R.id.group_editor_fragment);
         mFragment.setListener(mFragmentListener);
         mFragment.setContentResolver(getContentResolver());
-        Uri uri = Intent.ACTION_EDIT.equals(action) ? getIntent().getData() : null;
-        mFragment.load(action, uri, getIntent().getExtras());
+
+        // NOTE The fragment will restore its state by itself after orientation changes, so
+        // we need to do this only for a new instance.
+        if (savedState == null) {
+            Uri uri = Intent.ACTION_EDIT.equals(action) ? getIntent().getData() : null;
+            mFragment.load(action, uri, getIntent().getExtras());
+        }
     }
 
     @Override
@@ -107,7 +112,10 @@
 
     @Override
     public void onBackPressed() {
-        mFragment.save(SaveMode.CLOSE);
+        // If the change could not be saved, then revert to the default "back" button behavior.
+        if (!mFragment.save(SaveMode.CLOSE)) {
+            super.onBackPressed();
+        }
     }
 
     @Override
@@ -155,11 +163,6 @@
             }
             finish();
         }
-
-        @Override
-        public void onTitleLoaded(int resourceId) {
-            setTitle(resourceId);
-        }
     };
 
     @Override
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 4da032e..b2fc972 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -1024,18 +1024,11 @@
 
         @Override
         public void onInvalidSelection() {
-            ContactListFilter filter;
-            ContactListFilter currentFilter = mAllFragment.getFilter();
-            if (currentFilter != null
-                    && currentFilter.filterType == ContactListFilter.FILTER_TYPE_SINGLE_CONTACT) {
-                filter = ContactListFilter.createFilterWithType(
-                        ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS);
-                mAllFragment.setFilter(filter);
-            } else {
-                filter = ContactListFilter.createFilterWithType(
-                        ContactListFilter.FILTER_TYPE_SINGLE_CONTACT);
-                mAllFragment.setFilter(filter, false);
-            }
+            Toast.makeText(PeopleActivity.this, R.string.toast_displaying_all_contacts,
+                    Toast.LENGTH_LONG).show();
+            ContactListFilter filter = ContactListFilter.createFilterWithType(
+                    ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS);
+            mAllFragment.setFilter(filter);
             mContactListFilterController.setContactListFilter(filter, true);
         }
     }
diff --git a/src/com/android/contacts/calllog/CallLogFragment.java b/src/com/android/contacts/calllog/CallLogFragment.java
index c2c7c12..328faf2 100644
--- a/src/com/android/contacts/calllog/CallLogFragment.java
+++ b/src/com/android/contacts/calllog/CallLogFragment.java
@@ -89,6 +89,7 @@
                 Calls.TYPE,
                 Calls.COUNTRY_ISO,
                 Calls.VOICEMAIL_URI,
+                Calls.GEOCODED_LOCATION,
         };
 
         public static final int ID = 0;
@@ -98,6 +99,7 @@
         public static final int CALL_TYPE = 4;
         public static final int COUNTRY_ISO = 5;
         public static final int VOICEMAIL_URI = 6;
+        public static final int GEOCODED_LOCATION = 7;
 
         /**
          * The name of the synthetic "section" column.
@@ -107,7 +109,7 @@
          */
         public static final String SECTION_NAME = "section";
         /** The index of the "section" column in the projection. */
-        public static final int SECTION = 7;
+        public static final int SECTION = 8;
         /** The value of the "section" column for the header of the new section. */
         public static final int SECTION_NEW_HEADER = 0;
         /** The value of the "section" column for the items of the new section. */
@@ -327,7 +329,8 @@
             PhoneCallDetailsHelper phoneCallDetailsHelper = new PhoneCallDetailsHelper(
                     resources, callTypeHelper, mPhoneNumberHelper);
             mCallLogViewsHelper =
-                    new CallLogListItemHelper(phoneCallDetailsHelper, mPhoneNumberHelper);
+                    new CallLogListItemHelper(
+                            phoneCallDetailsHelper, mPhoneNumberHelper, resources);
             mCallLogGroupBuilder = new CallLogGroupBuilder(this);
         }
 
@@ -660,10 +663,7 @@
         private void findAndCacheViews(View view) {
             // Get the views to bind to.
             CallLogListItemViews views = CallLogListItemViews.fromView(view);
-            views.callView.setOnClickListener(mCallPlayOnClickListener);
-            views.playView.setOnClickListener(mCallPlayOnClickListener);
-            // Do nothing when a plain photo is clicked. Without this, the list item will fire.
-            views.plainPhotoView.setOnClickListener(null);
+            views.secondaryActionView.setOnClickListener(mCallPlayOnClickListener);
             view.setTag(views);
         }
 
@@ -705,17 +705,15 @@
             if (callType == Calls.VOICEMAIL_TYPE) {
                 String voicemailUri = c.getString(CallLogQuery.VOICEMAIL_URI);
                 final long rowId = c.getLong(CallLogQuery.ID);
-                views.playView.setTag(
+                views.secondaryActionView.setTag(
                         IntentProvider.getPlayVoicemailIntentProvider(rowId, voicemailUri));
-                views.callView.setTag(null);
             } else if (!TextUtils.isEmpty(number)) {
                 // Store away the number so we can call it directly if you click on the call icon.
-                views.callView.setTag(IntentProvider.getReturnCallIntentProvider(number));
-                views.playView.setTag(null);
+                views.secondaryActionView.setTag(
+                        IntentProvider.getReturnCallIntentProvider(number));
             } else {
                 // No action enabled.
-                views.callView.setTag(null);
-                views.playView.setTag(null);
+                views.secondaryActionView.setTag(null);
             }
 
             // Lookup contacts with this number
@@ -758,12 +756,13 @@
             final Uri thumbnailUri = info.thumbnailUri;
             final String lookupKey = info.lookupKey;
             final int[] callTypes = getCallTypes(c, count);
+            final String geocode = c.getString(CallLogQuery.GEOCODED_LOCATION);
             final PhoneCallDetails details;
             if (TextUtils.isEmpty(name)) {
-                details = new PhoneCallDetails(number, formattedNumber, countryIso,
+                details = new PhoneCallDetails(number, formattedNumber, countryIso, geocode,
                         callTypes, date, duration);
             } else {
-                details = new PhoneCallDetails(number, formattedNumber, countryIso,
+                details = new PhoneCallDetails(number, formattedNumber, countryIso, geocode,
                         callTypes, date, duration, name, ntype, label, personId, thumbnailUri);
             }
 
@@ -801,18 +800,9 @@
 
         private void setPhoto(CallLogListItemViews views, Uri thumbnailUri, long contactId,
                 String lookupKey) {
-            if (contactId == -1) {
-                // This does not correspond to a contact, do not use the QuickContactBadge.
-                mContactPhotoManager.loadPhoto(views.plainPhotoView, thumbnailUri);
-                views.plainPhotoView.setVisibility(View.VISIBLE);
-                views.quickContactView.setVisibility(View.INVISIBLE);
-            } else {
-                views.quickContactView.assignContactUri(
-                        Contacts.getLookupUri(contactId, lookupKey));
-                mContactPhotoManager.loadPhoto(views.quickContactView, thumbnailUri);
-                views.quickContactView.setVisibility(View.VISIBLE);
-                views.plainPhotoView.setVisibility(View.INVISIBLE);
-            }
+            views.quickContactView.assignContactUri(contactId == -1 ? null :
+                    Contacts.getLookupUri(contactId, lookupKey));
+            mContactPhotoManager.loadPhoto(views.quickContactView, thumbnailUri);
         }
 
         /**
@@ -868,7 +858,6 @@
         mVoiceMailNumber = ((TelephonyManager) getActivity().getSystemService(
                 Context.TELEPHONY_SERVICE)).getVoiceMailNumber();
         mCallLogQueryHandler = new CallLogQueryHandler(getActivity().getContentResolver(), this);
-
         setHasOptionsMenu(true);
     }
 
@@ -964,12 +953,22 @@
     @Override
     public void onPause() {
         super.onPause();
-
         // Kill the requests thread
         mAdapter.stopRequestProcessing();
     }
 
     @Override
+    public void onStop() {
+        super.onStop();
+        resetNewCallsFlag();
+        // Clear notifications only when window gains focus.  This activity won't
+        // immediately receive focus if the keyguard screen is above it.
+        if (getActivity().hasWindowFocus()) {
+            removeMissedCallNotifications();
+        }
+    }
+
+    @Override
     public void onDestroy() {
         super.onDestroy();
         mAdapter.stopRequestProcessing();
@@ -1158,7 +1157,6 @@
         // again once being shown.
         mAdapter.invalidateCache();
         startCallsQuery();
-        resetNewCallsFlag();
         startVoicemailStatusQuery();
         mAdapter.mPreDrawListener = null; // Let it restart the thread after next draw
         // Clear notifications only when window gains focus.  This activity won't
diff --git a/src/com/android/contacts/calllog/CallLogListItemHelper.java b/src/com/android/contacts/calllog/CallLogListItemHelper.java
index a973d49..5951ea3 100644
--- a/src/com/android/contacts/calllog/CallLogListItemHelper.java
+++ b/src/com/android/contacts/calllog/CallLogListItemHelper.java
@@ -18,7 +18,9 @@
 
 import com.android.contacts.PhoneCallDetails;
 import com.android.contacts.PhoneCallDetailsHelper;
+import com.android.contacts.R;
 
+import android.content.res.Resources;
 import android.provider.CallLog.Calls;
 import android.view.View;
 
@@ -30,6 +32,8 @@
     private final PhoneCallDetailsHelper mPhoneCallDetailsHelper;
     /** Helper for handling phone numbers. */
     private final PhoneNumberHelper mPhoneNumberHelper;
+    /** Resources to look up strings. */
+    private final Resources mResources;
 
     /**
      * Creates a new helper instance.
@@ -38,9 +42,10 @@
      * @param phoneNumberHelper used to process phone number
      */
     public CallLogListItemHelper(PhoneCallDetailsHelper phoneCallDetailsHelper,
-            PhoneNumberHelper phoneNumberHelper) {
+            PhoneNumberHelper phoneNumberHelper, Resources resources) {
         mPhoneCallDetailsHelper = phoneCallDetailsHelper;
         mPhoneNumberHelper= phoneNumberHelper;
+        mResources = resources;
     }
 
     /**
@@ -59,22 +64,35 @@
 
         if (canPlay) {
             // Playback action takes preference.
-            views.callView.setVisibility(View.GONE);
-            views.playView.setVisibility(View.VISIBLE);
+            configurePlaySecondaryAction(views);
             views.unheardView.setVisibility(isHighlighted ? View.VISIBLE : View.GONE);
             views.dividerView.setVisibility(View.VISIBLE);
         } else if (canCall) {
-            // Call is the main action.
-            views.callView.setVisibility(View.VISIBLE);
-            views.playView.setVisibility(View.GONE);
+            // Call is the secondary action.
+            configureCallSecondaryAction(views);
             views.unheardView.setVisibility(View.GONE);
             views.dividerView.setVisibility(View.VISIBLE);
         } else {
             // No action available.
-            views.callView.setVisibility(View.GONE);
-            views.playView.setVisibility(View.GONE);
+            views.secondaryActionView.setVisibility(View.GONE);
             views.unheardView.setVisibility(View.GONE);
             views.dividerView.setVisibility(View.GONE);
         }
     }
+
+    /** Sets the secondary action to correspond to the call button. */
+    private void configureCallSecondaryAction(CallLogListItemViews views) {
+        views.secondaryActionView.setVisibility(View.VISIBLE);
+        views.secondaryActionView.setImageResource(R.drawable.ic_ab_dialer_holo_dark);
+        views.secondaryActionView.setContentDescription(
+                mResources.getString(R.string.description_call_log_call_button));
+    }
+
+    /** Sets the secondary action to correspond to the play button. */
+    private void configurePlaySecondaryAction(CallLogListItemViews views) {
+        views.secondaryActionView.setVisibility(View.VISIBLE);
+        views.secondaryActionView.setImageResource(R.drawable.ic_play_holo_dark);
+        views.secondaryActionView.setContentDescription(
+                mResources.getString(R.string.description_call_log_play_button));
+    }
 }
diff --git a/src/com/android/contacts/calllog/CallLogListItemView.java b/src/com/android/contacts/calllog/CallLogListItemView.java
new file mode 100644
index 0000000..584a7f2
--- /dev/null
+++ b/src/com/android/contacts/calllog/CallLogListItemView.java
@@ -0,0 +1,46 @@
+/*
+ * 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.calllog;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.LinearLayout;
+
+/**
+ * An entry in the call log.
+ */
+public class CallLogListItemView extends LinearLayout {
+    public CallLogListItemView(Context context) {
+        super(context);
+    }
+
+    public CallLogListItemView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    public CallLogListItemView(Context context, AttributeSet attrs, int defStyle) {
+        super(context, attrs, defStyle);
+    }
+
+    @Override
+    public void requestLayout() {
+        // We will assume that once measured this will not need to resize
+        // itself, so there is no need to pass the layout request to the parent
+        // view (ListView).
+        forceLayout();
+    }
+}
diff --git a/src/com/android/contacts/calllog/CallLogListItemViews.java b/src/com/android/contacts/calllog/CallLogListItemViews.java
index 368a868..040d0ad 100644
--- a/src/com/android/contacts/calllog/CallLogListItemViews.java
+++ b/src/com/android/contacts/calllog/CallLogListItemViews.java
@@ -31,15 +31,11 @@
 public final class CallLogListItemViews {
     /** The quick contact badge for the contact. */
     public final QuickContactBadge quickContactView;
-    /** The photo view without quick contact badge. */
-    public final ImageView plainPhotoView;
-    /** The main action button on the entry. */
-    public final View callView;
-    /** The play action button used for voicemail. */
-    public final View playView;
+    /** The secondary action button on the entry. */
+    public final ImageView secondaryActionView;
     /** The icon used for unheard voicemail. */
     public final View unheardView;
-    /** The divider between callView and playView. */
+    /** The divider between the primary and secondary actions. */
     public final View dividerView;
     /** The details of the phone call. */
     public final PhoneCallDetailsViews phoneCallDetailsViews;
@@ -48,14 +44,12 @@
     /** The text of the header in a stand-alone row, or null for other types of rows. */
     public final TextView listHeaderTextView;
 
-    private CallLogListItemViews(QuickContactBadge quickContactView, ImageView photoView,
-            View callView, View playView, View unheardView, View dividerView,
+    private CallLogListItemViews(QuickContactBadge quickContactView,
+            ImageView secondaryActionView, View unheardView, View dividerView,
             PhoneCallDetailsViews phoneCallDetailsViews, View listItemView,
             TextView listHeaderTextView) {
         this.quickContactView = quickContactView;
-        this.plainPhotoView = photoView;
-        this.callView = callView;
-        this.playView = playView;
+        this.secondaryActionView = secondaryActionView;
         this.unheardView = unheardView;
         this.dividerView = dividerView;
         this.phoneCallDetailsViews = phoneCallDetailsViews;
@@ -66,9 +60,7 @@
     public static CallLogListItemViews fromView(View view) {
         return new CallLogListItemViews(
                 (QuickContactBadge) view.findViewById(R.id.quick_contact_photo),
-                (ImageView) view.findViewById(R.id.plain_contact_photo),
-                view.findViewById(R.id.call_icon),
-                view.findViewById(R.id.play_icon),
+                (ImageView) view.findViewById(R.id.secondary_action_icon),
                 view.findViewById(R.id.unheard_icon),
                 view.findViewById(R.id.divider),
                 PhoneCallDetailsViews.fromView(view),
@@ -82,8 +74,6 @@
                 new ImageView(context),
                 new View(context),
                 new View(context),
-                new View(context),
-                new View(context),
                 PhoneCallDetailsViews.createForTest(context),
                 new View(context),
                 new TextView(context));
diff --git a/src/com/android/contacts/calllog/CallLogQueryHandler.java b/src/com/android/contacts/calllog/CallLogQueryHandler.java
index 394599f..68ac63a 100644
--- a/src/com/android/contacts/calllog/CallLogQueryHandler.java
+++ b/src/com/android/contacts/calllog/CallLogQueryHandler.java
@@ -103,7 +103,7 @@
                 new MatrixCursor(CallLogFragment.CallLogQuery.EXTENDED_PROJECTION);
         // The values in this row correspond to default values for _PROJECTION from CallLogQuery
         // plus the section value.
-        matrixCursor.addRow(new Object[]{ -1L, "", 0L, 0L, 0, "", "", section });
+        matrixCursor.addRow(new Object[]{ -1L, "", 0L, 0L, 0, "", "", "", section });
         return matrixCursor;
     }
 
diff --git a/src/com/android/contacts/calllog/CallTypeIconsView.java b/src/com/android/contacts/calllog/CallTypeIconsView.java
index 4fbe7d7..e0242c8 100644
--- a/src/com/android/contacts/calllog/CallTypeIconsView.java
+++ b/src/com/android/contacts/calllog/CallTypeIconsView.java
@@ -17,6 +17,7 @@
 package com.android.contacts.calllog;
 
 import com.android.contacts.R;
+import com.android.contacts.test.NeededForTesting;
 import com.google.common.collect.Lists;
 
 import android.content.Context;
@@ -64,10 +65,12 @@
         invalidate();
     }
 
+    @NeededForTesting
     public int getCount() {
         return mCallTypes.size();
     }
 
+    @NeededForTesting
     public int getCallType(int index) {
         return mCallTypes.get(index);
     }
diff --git a/src/com/android/contacts/calllog/ExtendedCursor.java b/src/com/android/contacts/calllog/ExtendedCursor.java
index b17c018..499a350 100644
--- a/src/com/android/contacts/calllog/ExtendedCursor.java
+++ b/src/com/android/contacts/calllog/ExtendedCursor.java
@@ -19,7 +19,9 @@
 import com.android.common.io.MoreCloseables;
 
 import android.database.AbstractCursor;
+import android.database.ContentObserver;
 import android.database.Cursor;
+import android.database.DataSetObserver;
 
 /**
  * Wraps a cursor to add an additional column with the same value for all rows.
@@ -129,4 +131,24 @@
         MoreCloseables.closeQuietly(mCursor);
         super.close();
     }
-}
\ No newline at end of file
+
+    @Override
+    public void registerContentObserver(ContentObserver observer) {
+        mCursor.registerContentObserver(observer);
+    }
+
+    @Override
+    public void unregisterContentObserver(ContentObserver observer) {
+        mCursor.unregisterContentObserver(observer);
+    }
+
+    @Override
+    public void registerDataSetObserver(DataSetObserver observer) {
+        mCursor.registerDataSetObserver(observer);
+    }
+
+    @Override
+    public void unregisterDataSetObserver(DataSetObserver observer) {
+        mCursor.unregisterDataSetObserver(observer);
+    }
+}
diff --git a/src/com/android/contacts/calllog/PhoneNumberHelper.java b/src/com/android/contacts/calllog/PhoneNumberHelper.java
index bf493f5..4d96f4f 100644
--- a/src/com/android/contacts/calllog/PhoneNumberHelper.java
+++ b/src/com/android/contacts/calllog/PhoneNumberHelper.java
@@ -18,10 +18,6 @@
 
 import com.android.contacts.R;
 import com.android.internal.telephony.CallerInfo;
-import com.google.i18n.phonenumbers.NumberParseException;
-import com.google.i18n.phonenumbers.PhoneNumberUtil;
-import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;
-import com.google.i18n.phonenumbers.geocoding.PhoneNumberOfflineGeocoder;
 
 import android.content.res.Resources;
 import android.net.Uri;
@@ -34,14 +30,10 @@
 public class PhoneNumberHelper {
     private final Resources mResources;
     private final String mVoicemailNumber;
-    private final PhoneNumberUtil mPhoneNumberUtil;
-    private final PhoneNumberOfflineGeocoder mPhoneNumberOfflineGeocoder;
 
     public PhoneNumberHelper(Resources resources, String voicemailNumber) {
         mResources = resources;
         mVoicemailNumber = voicemailNumber;
-        mPhoneNumberUtil = PhoneNumberUtil.getInstance();
-        mPhoneNumberOfflineGeocoder = PhoneNumberOfflineGeocoder.getInstance();
     }
 
     /** Returns true if it is possible to place a call to the given number. */
@@ -106,35 +98,4 @@
     public boolean isSipNumber(CharSequence number) {
         return PhoneNumberUtils.isUriNumber(number.toString());
     }
-
-    /**
-     * Returns a structured phone number from the given text representation, or null if the number
-     * cannot be parsed.
-     */
-    private PhoneNumber parsePhoneNumber(String number, String countryIso) {
-        try {
-            return mPhoneNumberUtil.parse(number, countryIso);
-        } catch (NumberParseException e) {
-            return null;
-        }
-    }
-
-    /** Returns the geocode associated with a phone number or the empty string if not available. */
-    public String getGeocodeForNumber(String number, String countryIso) {
-        if (!canGeocode(number)) {
-            return "";
-        }
-        PhoneNumber structuredPhoneNumber = parsePhoneNumber(number, countryIso);
-        if (structuredPhoneNumber != null) {
-            return mPhoneNumberOfflineGeocoder.getDescriptionForNumber(
-                    structuredPhoneNumber, mResources.getConfiguration().locale);
-        } else {
-            return "";
-        }
-    }
-
-    /** Returns true if it is possible to compute a geocode for the given number. */
-    private boolean canGeocode(CharSequence number) {
-        return canPlaceCallsTo(number) && !isVoicemailNumber(number);
-    }
 }
diff --git a/src/com/android/contacts/detail/ContactDetailDisplayUtils.java b/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
index 0c59695..5b51d57 100644
--- a/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
+++ b/src/com/android/contacts/detail/ContactDetailDisplayUtils.java
@@ -31,17 +31,24 @@
 import android.content.Context;
 import android.content.Entity;
 import android.content.Entity.NamedContentValues;
+import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.NameNotFoundException;
+import android.content.res.Resources;
+import android.content.res.Resources.NotFoundException;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
 import android.graphics.Typeface;
+import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.provider.ContactsContract;
 import android.provider.ContactsContract.CommonDataKinds.Organization;
 import android.provider.ContactsContract.Data;
 import android.provider.ContactsContract.DisplayNameSources;
 import android.text.Html;
+import android.text.Html.ImageGetter;
 import android.text.Spanned;
 import android.text.TextUtils;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -60,6 +67,7 @@
  * {@link ContactLoader.Result} data object to appropriate {@link View}s.
  */
 public class ContactDetailDisplayUtils {
+    private static final String TAG = "ContactDetailDisplayUtils";
 
     private static final int PHOTO_FADE_IN_ANIMATION_DURATION_MILLIS = 100;
 
@@ -68,9 +76,8 @@
     }
 
     /**
-     * Returns the display name of the contact. Depending on the preference for
-     * display name ordering, the contact's first name may be bolded if
-     * possible. Returns empty string if there is no display name.
+     * Returns the display name of the contact, using the current display order setting.
+     * Returns res/string/missing_name if there is no display name.
      */
     public static CharSequence getDisplayName(Context context, Result contactData) {
         CharSequence displayName = contactData.getDisplayName();
@@ -79,25 +86,9 @@
         CharSequence styledName = "";
         if (!TextUtils.isEmpty(displayName) && !TextUtils.isEmpty(altDisplayName)) {
             if (prefs.getDisplayOrder() == ContactsContract.Preferences.DISPLAY_ORDER_PRIMARY) {
-                int overlapPoint = FormatUtils.overlapPoint(
-                        displayName.toString(), altDisplayName.toString());
-                if (overlapPoint > 0) {
-                    styledName = FormatUtils.applyStyleToSpan(Typeface.BOLD,
-                            displayName, 0, overlapPoint, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                } else {
-                    styledName = displayName;
-                }
+                styledName = displayName;
             } else {
-                // Displaying alternate display name.
-                int overlapPoint = FormatUtils.overlapPoint(
-                        altDisplayName.toString(), displayName.toString());
-                if (overlapPoint > 0) {
-                    styledName = FormatUtils.applyStyleToSpan(Typeface.BOLD,
-                            altDisplayName, overlapPoint, altDisplayName.length(),
-                            Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                } else {
-                    styledName = altDisplayName;
-                }
+                styledName = altDisplayName;
             }
         } else {
             styledName = context.getResources().getString(R.string.missing_name);
@@ -209,7 +200,7 @@
      */
     public static void setStarred(Result contactData, CheckBox starredView) {
         // Check if the starred state should be visible
-        if (!contactData.isDirectoryEntry()) {
+        if (!contactData.isDirectoryEntry() && !contactData.isUserProfile()) {
             starredView.setVisibility(View.VISIBLE);
             starredView.setChecked(contactData.getStarred());
         } else {
@@ -252,104 +243,78 @@
     /** Creates the view that represents a stream item. */
     public static View createStreamItemView(LayoutInflater inflater, Context context,
             StreamItemEntry streamItem, LinearLayout parent) {
-        View oneColumnView = inflater.inflate(R.layout.stream_item_one_column,
-                parent, false);
-        ViewGroup contentBox = (ViewGroup) oneColumnView.findViewById(R.id.stream_item_content);
-        int internalPadding = context.getResources().getDimensionPixelSize(
-                R.dimen.detail_update_section_internal_padding);
+        View container = inflater.inflate(R.layout.stream_item_container, parent, false);
+        ViewGroup contentTable = (ViewGroup) container.findViewById(R.id.stream_item_content);
 
-        // TODO: This is not the correct layout for a stream item with photos.  Photos should be
-        // displayed first, then the update text either to the right of the final image (if there
-        // are an odd number of images) or below the last row of images (if there are an even
-        // number of images).  Since this is designed as a two-column grid, we should also consider
-        // using a TableLayout instead of the series of nested LinearLayouts that we have now.
-        // See the Updates section of the Contacts Architecture document for details.
-
-        // If there are no photos, just display the text in a single column.
+        ContactPhotoManager contactPhotoManager = ContactPhotoManager.getInstance(context);
         List<StreamItemPhotoEntry> photos = streamItem.getPhotos();
-        if (photos.isEmpty()) {
-            addStreamItemText(inflater, context, streamItem, contentBox);
-        } else {
-            // If the first photo is square or portrait mode, show the text alongside it.
-            boolean isFirstPhotoAlongsideText = false;
-            StreamItemPhotoEntry firstPhoto = photos.get(0);
-            isFirstPhotoAlongsideText = firstPhoto.getHeight() >= firstPhoto.getWidth();
-            if (isFirstPhotoAlongsideText) {
-                View twoColumnView = inflater.inflate(R.layout.stream_item_pair, contentBox, false);
-                addStreamItemPhoto(inflater, context, firstPhoto,
-                        (ViewGroup) twoColumnView.findViewById(R.id.stream_pair_first));
-                addStreamItemText(inflater, context, streamItem,
-                        (ViewGroup) twoColumnView.findViewById(R.id.stream_pair_second));
-                contentBox.addView(twoColumnView);
-            } else {
-                // Just add the stream item text at the top of the entry.
-                addStreamItemText(inflater, context, streamItem, contentBox);
-            }
-            for (int i = isFirstPhotoAlongsideText ? 1 : 0; i < photos.size(); i++) {
-                StreamItemPhotoEntry photo = photos.get(i);
+        final int photoCount = photos.size();
 
-                // If the photo is landscape, show it at full-width.
-                if (photo.getWidth() > photo.getHeight()) {
-                    View photoView = addStreamItemPhoto(inflater, context, photo, contentBox);
-                    photoView.setPadding(0, internalPadding, 0, 0);
-                } else {
-                    // If this photo and the next are both square or portrait, show them as a pair.
-                    StreamItemPhotoEntry nextPhoto = i + 1 < photos.size()
-                            ? photos.get(i + 1) : null;
-                    if (nextPhoto != null && nextPhoto.getHeight() >= nextPhoto.getWidth()) {
-                        View twoColumnView = inflater.inflate(R.layout.stream_item_pair,
-                                contentBox, false);
-                        addStreamItemPhoto(inflater, context, photo,
-                                (ViewGroup) twoColumnView.findViewById(R.id.stream_pair_first));
-                        addStreamItemPhoto(inflater, context, nextPhoto,
-                                (ViewGroup) twoColumnView.findViewById(R.id.stream_pair_second));
-                        twoColumnView.setPadding(0, internalPadding, 0, 0);
-                        contentBox.addView(twoColumnView);
-                        i++;
-                    } else {
-                        View photoView = addStreamItemPhoto(inflater, context, photo, contentBox);
-                        photoView.setPadding(0, internalPadding, 0, 0);
-                    }
-                }
+        // Process the photos, two at a time.
+        for (int index = 0; index < photoCount; index += 2) {
+            final StreamItemPhotoEntry firstPhoto = photos.get(index);
+            if (index + 1 < photoCount) {
+                // Put in two photos, side by side.
+                final StreamItemPhotoEntry secondPhoto = photos.get(index + 1);
+
+                View photoContainer = inflater.inflate(R.layout.stream_item_row_two_images,
+                        contentTable, false);
+                loadPhoto(contactPhotoManager, firstPhoto, photoContainer,
+                        R.id.stream_item_first_image);
+                loadPhoto(contactPhotoManager, secondPhoto, photoContainer,
+                        R.id.stream_item_second_image);
+                contentTable.addView(photoContainer);
+            } else {
+                // Put in a single photo with text on the side.
+                View photoContainer = inflater.inflate(
+                        R.layout.stream_item_row_image_and_text, contentTable, false);
+                loadPhoto(contactPhotoManager, firstPhoto, photoContainer,
+                        R.id.stream_item_first_image);
+                addStreamItemText(context, streamItem,
+                        photoContainer.findViewById(R.id.stream_item_second_text));
+                contentTable.addView(photoContainer);
             }
         }
 
+        if (photoCount % 2 == 0) {
+            // Even number of photos, add the text below them. Otherwise, it should have been
+            // already added next to the last photo.
+            View textContainer = inflater.inflate(R.layout.stream_item_row_text_only, contentTable,
+                    false);
+            addStreamItemText(context, streamItem, textContainer);
+            contentTable.addView(textContainer);
+        }
+
         if (parent != null) {
-            parent.addView(oneColumnView);
+            parent.addView(container);
         }
 
-        return oneColumnView;
+        return container;
+    }
+
+    /** Loads a photo into an image view. The image view is identifiedc by the given id. */
+    private static void loadPhoto(ContactPhotoManager contactPhotoManager,
+            final StreamItemPhotoEntry firstPhoto, View photoContainer, int imageViewId) {
+        ImageView firstImageView = (ImageView) photoContainer.findViewById(imageViewId);
+        contactPhotoManager.loadPhoto(firstImageView, Uri.parse(firstPhoto.getPhotoUri()));
     }
 
     @VisibleForTesting
-    static View addStreamItemText(LayoutInflater inflater, Context context,
-            StreamItemEntry streamItem, ViewGroup parent) {
-        View textUpdate = inflater.inflate(R.layout.stream_item_text, parent, false);
-        TextView htmlView = (TextView) textUpdate.findViewById(R.id.stream_item_html);
-        TextView attributionView = (TextView) textUpdate.findViewById(
+    static View addStreamItemText(Context context, StreamItemEntry streamItem, View rootView) {
+        TextView htmlView = (TextView) rootView.findViewById(R.id.stream_item_html);
+        TextView attributionView = (TextView) rootView.findViewById(
                 R.id.stream_item_attribution);
-        TextView commentsView = (TextView) textUpdate.findViewById(R.id.stream_item_comments);
-        htmlView.setText(Html.fromHtml(streamItem.getText()));
+        TextView commentsView = (TextView) rootView.findViewById(R.id.stream_item_comments);
+        ImageGetter imageGetter = new DefaultImageGetter(context.getPackageManager());
+        htmlView.setText(Html.fromHtml(streamItem.getText(), imageGetter, null));
         attributionView.setText(ContactBadgeUtil.getSocialDate(streamItem, context));
         if (streamItem.getComments() != null) {
-            commentsView.setText(Html.fromHtml(streamItem.getComments()));
+            commentsView.setText(Html.fromHtml(streamItem.getComments(), imageGetter, null));
             commentsView.setVisibility(View.VISIBLE);
         } else {
             commentsView.setVisibility(View.GONE);
         }
-        if (parent != null) {
-            parent.addView(textUpdate);
-        }
-        return textUpdate;
-    }
-
-    private static View addStreamItemPhoto(LayoutInflater inflater, Context context,
-            StreamItemPhotoEntry streamItemPhoto, ViewGroup parent) {
-        ImageView image = new ImageView(context);
-        ContactPhotoManager.getInstance(context).loadPhoto(
-                image, Uri.parse(streamItemPhoto.getPhotoUri()));
-        parent.addView(image);
-        return image;
+        return rootView;
     }
 
     /**
@@ -410,4 +375,79 @@
         }
     }
 
+    /** Fetcher for images from resources to be included in HTML text. */
+    private static class DefaultImageGetter implements Html.ImageGetter {
+        /** The scheme used to load resources. */
+        private static final String RES_SCHEME = "res";
+
+        private final PackageManager mPackageManager;
+
+        public DefaultImageGetter(PackageManager packageManager) {
+            mPackageManager = packageManager;
+        }
+
+        @Override
+        public Drawable getDrawable(String source) {
+            // Returning null means that a default image will be used.
+            Uri uri;
+            try {
+                uri = Uri.parse(source);
+            } catch (Throwable e) {
+                Log.d(TAG, "Could not parse image source: " + source);
+                return null;
+            }
+            if (!RES_SCHEME.equals(uri.getScheme())) {
+                Log.d(TAG, "Image source does not correspond to a resource: " + source);
+                return null;
+            }
+            // The URI authority represents the package name.
+            String packageName = uri.getAuthority();
+
+            Resources resources = getResourcesForResourceName(packageName);
+            if (resources == null) {
+                Log.d(TAG, "Could not parse image source: " + source);
+                return null;
+            }
+
+            List<String> pathSegments = uri.getPathSegments();
+            if (pathSegments.size() != 1) {
+                Log.d(TAG, "Could not parse image source: " + source);
+                return null;
+            }
+
+            final String name = pathSegments.get(0);
+            final int resId = resources.getIdentifier(name, "drawable", packageName);
+
+            if (resId == 0) {
+                // Use the default image icon in this case.
+                Log.d(TAG, "Cannot resolve resource identifier: " + source);
+                return null;
+            }
+
+            try {
+                return getResourceDrawable(resources, resId);
+            } catch (NotFoundException e) {
+                Log.d(TAG, "Resource not found: " + source, e);
+                return null;
+            }
+        }
+
+        /** Returns the drawable associated with the given id. */
+        private Drawable getResourceDrawable(Resources resources, int resId)
+                throws NotFoundException {
+            Drawable drawable = resources.getDrawable(resId);
+            drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
+            return drawable;
+        }
+
+        /** Returns the {@link Resources} of the package of the given resource name. */
+        private Resources getResourcesForResourceName(String packageName) {
+            try {
+                return mPackageManager.getResourcesForApplication(packageName);
+            } catch (NameNotFoundException e) {
+                Log.d(TAG, "Could not find package: " + packageName);
+                return null;
+            }
+        }
+    }
 }
diff --git a/src/com/android/contacts/detail/ContactDetailFragment.java b/src/com/android/contacts/detail/ContactDetailFragment.java
index 02e74dd..47617d3 100644
--- a/src/com/android/contacts/detail/ContactDetailFragment.java
+++ b/src/com/android/contacts/detail/ContactDetailFragment.java
@@ -118,7 +118,7 @@
 import java.util.Map;
 
 public class ContactDetailFragment extends Fragment implements FragmentKeyListener, ViewOverlay,
-        SelectAccountDialogFragment.Listener {
+        SelectAccountDialogFragment.Listener, OnItemClickListener {
 
     private static final String TAG = "ContactDetailFragment";
 
@@ -279,6 +279,7 @@
 
         mListView = (ListView) mView.findViewById(android.R.id.list);
         mListView.setScrollBarStyle(ListView.SCROLLBARS_OUTSIDE_OVERLAY);
+        mListView.setOnItemClickListener(this);
         mListView.setItemsCanFocus(true);
         mListView.setOnScrollListener(mVerticalScrollListener);
 
@@ -1709,6 +1710,21 @@
         }
     }
 
+    /**
+     * Default (fallback) list item click listener.  Note the click event for DetailViewEntry is
+     * caught by individual views in the list item view to distinguish the primary action and the
+     * secondary action, so this method won't be invoked for that.  (The listener is set in the
+     * bindview in the adapter)
+     * This listener is used for other kind of entries.
+     */
+    @Override
+    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+        if (mListener == null) return;
+        final ViewEntry entry = mAdapter.getItem(position);
+        if (entry == null) return;
+        entry.click(view, mListener);
+    }
+
     @Override
     public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfo) {
         super.onCreateContextMenu(menu, view, menuInfo);
@@ -1851,6 +1867,9 @@
             // Only local contacts
             if (mContactData == null || mContactData.isDirectoryEntry()) return false;
 
+            // User profile cannot be added to contacts
+            if (mContactData.isUserProfile()) return false;
+
             // Only if exactly one raw contact
             if (mContactData.getEntities().size() != 1) return false;
 
@@ -1923,7 +1942,7 @@
             // and fire off the intent. we don't need a callback, as the database listener
             // should update the ui
             final Intent intent = ContactSaveService.createSaveContactIntent(getActivity(),
-                    contactDeltaList, "", 0, getActivity().getClass(),
+                    contactDeltaList, "", 0, false, getActivity().getClass(),
                     UI.LIST_ALL_CONTACTS_ACTION);
             getActivity().startService(intent);
         }
diff --git a/src/com/android/contacts/detail/ContactLoaderFragment.java b/src/com/android/contacts/detail/ContactLoaderFragment.java
index 8d3cd75..265550b 100644
--- a/src/com/android/contacts/detail/ContactLoaderFragment.java
+++ b/src/com/android/contacts/detail/ContactLoaderFragment.java
@@ -19,7 +19,6 @@
 import com.android.contacts.ContactLoader;
 import com.android.contacts.ContactSaveService;
 import com.android.contacts.R;
-import com.android.contacts.activities.ContactDetailActivity;
 import com.android.contacts.activities.ContactDetailActivity.FragmentKeyListener;
 import com.android.contacts.util.PhoneCapabilityTester;
 import com.android.internal.util.Objects;
@@ -29,7 +28,6 @@
 import android.app.LoaderManager;
 import android.app.LoaderManager.LoaderCallbacks;
 import android.content.ActivityNotFoundException;
-import android.content.ContentValues;
 import android.content.Context;
 import android.content.Intent;
 import android.content.Loader;
diff --git a/src/com/android/contacts/editor/ContactEditorFragment.java b/src/com/android/contacts/editor/ContactEditorFragment.java
index 0227b13..412efab 100644
--- a/src/com/android/contacts/editor/ContactEditorFragment.java
+++ b/src/com/android/contacts/editor/ContactEditorFragment.java
@@ -116,6 +116,8 @@
     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";
 
     public static final String SAVE_MODE_EXTRA_KEY = "saveMode";
 
@@ -125,6 +127,8 @@
      */
     public static final String INTENT_EXTRA_ADD_TO_DEFAULT_DIRECTORY = "addToDefaultDirectory";
 
+    public static final String INTENT_EXTRA_NEW_LOCAL_PROFILE = "newLocalProfile";
+
     /**
      * Modes that specify what the AsyncTask has to perform after saving
      */
@@ -245,6 +249,8 @@
 
     private boolean mEnabled = true;
     private boolean mRequestFocus;
+    private boolean mNewLocalProfile = false;
+    private boolean mIsUserProfile = false;
 
     public ContactEditorFragment() {
     }
@@ -311,11 +317,8 @@
 
         if (!hasIncomingState) {
             if (Intent.ACTION_EDIT.equals(mAction)) {
-                if (mListener != null) mListener.setTitleTo(R.string.editContact_title_edit);
                 getLoaderManager().initLoader(LOADER_DATA, null, mDataLoaderListener);
             } else if (Intent.ACTION_INSERT.equals(mAction)) {
-                if (mListener != null) mListener.setTitleTo(R.string.editContact_title_insert);
-
                 final Account account = mIntentExtras == null ? null :
                         (Account) mIntentExtras.getParcelable(Intents.Insert.ACCOUNT);
                 final String dataSet = mIntentExtras == null ? null :
@@ -348,6 +351,8 @@
         mIntentExtras = intentExtras;
         mAutoAddToDefaultGroup = mIntentExtras != null
                 && mIntentExtras.containsKey(INTENT_EXTRA_ADD_TO_DEFAULT_DIRECTORY);
+        mNewLocalProfile = mIntentExtras != null
+            && mIntentExtras.getBoolean(INTENT_EXTRA_NEW_LOCAL_PROFILE);
     }
 
     public void setListener(Listener value) {
@@ -383,6 +388,8 @@
             mAggregationSuggestionsRawContactId = savedState.getLong(KEY_SHOW_JOIN_SUGGESTIONS);
             mEnabled = savedState.getBoolean(KEY_ENABLED);
             mStatus = savedState.getInt(KEY_STATUS);
+            mNewLocalProfile = savedState.getBoolean(KEY_NEW_LOCAL_PROFILE);
+            mIsUserProfile = savedState.getBoolean(KEY_IS_USER_PROFILE);
         }
     }
 
@@ -430,6 +437,13 @@
         setIntentExtras(mIntentExtras);
         mIntentExtras = null;
 
+        // For user profile, change the contacts query URI
+        mIsUserProfile = data.isUserProfile();
+        if (mIsUserProfile) {
+            for (EntityDelta state : mState) {
+                state.setProfileQueryUri();
+            }
+        }
         mRequestFocus = true;
 
         bindEditors();
@@ -463,8 +477,8 @@
     private void createContact() {
         final List<AccountWithDataSet> accounts =
                 AccountTypeManager.getInstance(mContext).getAccounts(true);
-        // No Accounts available.  Create a phone-local contact.
-        if (accounts.isEmpty()) {
+        // No Accounts available or creating a local profile.  Create a phone-local contact.
+        if (accounts.isEmpty() || mNewLocalProfile) {
             createContact(null);
             return;  // Don't show a dialog.
         }
@@ -559,6 +573,11 @@
         EntityModifier.ensureKindExists(insert, newAccountType, Event.CONTENT_ITEM_TYPE);
         EntityModifier.ensureKindExists(insert, newAccountType, StructuredPostal.CONTENT_ITEM_TYPE);
 
+        // Set the correct URI for saving the contact as a profile
+        if (mNewLocalProfile) {
+            insert.setProfileQueryUri();
+        }
+
         if (mState == null) {
             // Create state if none exists yet
             mState = EntityDeltaList.fromSingle(insert);
@@ -606,7 +625,7 @@
             if (Intent.ACTION_INSERT.equals(mAction) && numRawContacts == 1) {
                 final List<AccountWithDataSet> accounts =
                         AccountTypeManager.getInstance(mContext).getAccounts(true);
-                if (accounts.size() > 1) {
+                if (accounts.size() > 1 && !mNewLocalProfile) {
                     addAccountSwitcher(mState.get(0), editor);
                 } else {
                     disableAccountSwitcher(editor);
@@ -901,8 +920,8 @@
         setEnabled(false);
 
         Intent intent = ContactSaveService.createSaveContactIntent(getActivity(), mState,
-                SAVE_MODE_EXTRA_KEY, saveMode, getActivity().getClass(),
-                ContactEditorActivity.ACTION_SAVE_COMPLETED);
+                SAVE_MODE_EXTRA_KEY, saveMode, mNewLocalProfile || mIsUserProfile,
+                getActivity().getClass(), ContactEditorActivity.ACTION_SAVE_COMPLETED);
         getActivity().startService(intent);
         return true;
     }
@@ -1097,11 +1116,6 @@
         void onReverted();
 
         /**
-         * Set the Title (e.g. of the Activity)
-         */
-        void setTitleTo(int resourceId);
-
-        /**
          * Contact was saved and the Fragment can now be closed safely.
          */
         void onSaveFinished(Intent resultIntent);
@@ -1499,6 +1513,8 @@
         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_IS_USER_PROFILE, mIsUserProfile);
         outState.putInt(KEY_STATUS, mStatus);
         super.onSaveInstanceState(outState);
     }
diff --git a/src/com/android/contacts/editor/ExternalRawContactEditorView.java b/src/com/android/contacts/editor/ExternalRawContactEditorView.java
index 04f4140..cabf639 100644
--- a/src/com/android/contacts/editor/ExternalRawContactEditorView.java
+++ b/src/com/android/contacts/editor/ExternalRawContactEditorView.java
@@ -138,6 +138,8 @@
                     mContext.getString(R.string.from_account_format, mAccountName));
         }
         mAccountTypeTextView.setText(mContext.getString(R.string.account_type_format, accountType));
+        mAccountTypeTextView.setTextColor(mContext.getResources().getColor(
+                R.color.secondary_text_color));
 
         // TODO: Expose data set in the UI somehow?
 
diff --git a/src/com/android/contacts/editor/LabeledEditorView.java b/src/com/android/contacts/editor/LabeledEditorView.java
index bb25ea0..6452c80 100644
--- a/src/com/android/contacts/editor/LabeledEditorView.java
+++ b/src/com/android/contacts/editor/LabeledEditorView.java
@@ -508,7 +508,7 @@
             if (convertView == null) {
                 textView = (TextView) mInflater.inflate(resource, parent, false);
                 textView.setAllCaps(true);
-                textView.setGravity(Gravity.RIGHT);
+                textView.setGravity(Gravity.RIGHT | Gravity.CENTER_VERTICAL);
                 textView.setTextAppearance(mContext, android.R.style.TextAppearance_Small);
                 textView.setTextColor(mTextColor);
             } else {
diff --git a/src/com/android/contacts/editor/RawContactEditorView.java b/src/com/android/contacts/editor/RawContactEditorView.java
index 6335cb6..dd3c15a 100644
--- a/src/com/android/contacts/editor/RawContactEditorView.java
+++ b/src/com/android/contacts/editor/RawContactEditorView.java
@@ -129,12 +129,11 @@
 
         mInflater = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
 
-        final int photoSize = getResources().getDimensionPixelSize(R.dimen.edit_photo_size);
-
         mName = (StructuredNameEditorView)findViewById(R.id.edit_name);
         mName.setDeletable(false);
 
         mPhoneticName = (PhoneticNameEditorView)findViewById(R.id.edit_phonetic_name);
+        mPhoneticName.setDeletable(false);
 
         mFields = (ViewGroup)findViewById(R.id.sect_fields);
 
diff --git a/src/com/android/contacts/editor/TextFieldsEditorView.java b/src/com/android/contacts/editor/TextFieldsEditorView.java
index d3fa3b7..a448f4e 100644
--- a/src/com/android/contacts/editor/TextFieldsEditorView.java
+++ b/src/com/android/contacts/editor/TextFieldsEditorView.java
@@ -60,7 +60,7 @@
     private ImageView mExpansionView;
     private boolean mHideOptional = true;
     private boolean mHasShortAndLongForms;
-    private int mHintTextColor;
+    private int mMinFieldHeight;
 
     public TextFieldsEditorView(Context context) {
         super(context);
@@ -82,7 +82,8 @@
         setDrawingCacheEnabled(true);
         setAlwaysDrawnWithCacheEnabled(true);
 
-        mHintTextColor = getContext().getResources().getColor(R.color.secondary_text_color);
+        mMinFieldHeight = mContext.getResources().getDimensionPixelSize(
+                R.dimen.editor_min_line_item_height);
         mFields = (ViewGroup) findViewById(R.id.editors);
         mExpansionView = (ImageView) findViewById(R.id.expansion_view);
         mExpansionViewContainer = findViewById(R.id.expansion_view_container);
@@ -173,9 +174,8 @@
             final EditField field = kind.fieldList.get(index);
             final EditText fieldView = new EditText(mContext);
             fieldView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT,
-                    LayoutParams.WRAP_CONTENT));
+                    field.isMultiLine() ? LayoutParams.WRAP_CONTENT : mMinFieldHeight));
             fieldView.setTextAppearance(getContext(), kind.textAppearanceResourceId);
-            fieldView.setHintTextColor(mHintTextColor);
             fieldView.setGravity(Gravity.TOP);
             mFieldEditTexts[index] = fieldView;
             fieldView.setId(vig.getId(state, kind, entry, index));
@@ -184,9 +184,6 @@
             }
             int inputType = field.inputType;
             fieldView.setInputType(inputType);
-            if (field.isFullName) {
-                fieldView.addTextChangedListener(new NameFormattingTextWatcher());
-            }
             if (inputType == InputType.TYPE_CLASS_PHONE) {
                 fieldView.addTextChangedListener(new PhoneNumberFormattingTextWatcher(
                         ContactsUtils.getCurrentCountryIso(mContext)));
@@ -353,62 +350,6 @@
         };
     }
 
-    private class NameFormattingTextWatcher implements TextWatcher {
-
-
-        @Override
-        public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
-
-        @Override
-        public void onTextChanged(CharSequence s, int start, int before, int count) {}
-
-        @Override
-        public void afterTextChanged(Editable s) {
-            String displayName = s.toString();
-            Map<String, String> structuredName = NameConverter.displayNameToStructuredName(
-                    getContext(), displayName);
-            String givenName = structuredName.get(StructuredName.GIVEN_NAME);
-            if (!TextUtils.isEmpty(givenName)) {
-                int spanStart = -1;
-                int spanEnd = -1;
-                if (displayName.startsWith(givenName + " ")) {
-                    spanStart = 0;
-                    spanEnd = givenName.length();
-                } else {
-                    spanStart = displayName.lastIndexOf(" " + givenName);
-                    if (spanStart > -1) {
-                        spanStart++;
-                        spanEnd = spanStart + givenName.length();
-                    }
-                }
-
-                // If the requested range is already bolded, don't make any changes.
-                if (spanStart > -1) {
-                    StyleSpan[] existingSpans = s.getSpans(0, s.length(), StyleSpan.class);
-                    for (StyleSpan span : existingSpans) {
-                        if (span.getStyle() == Typeface.BOLD
-                                && s.getSpanStart(span.getUnderlying()) == spanStart
-                                && s.getSpanEnd(span.getUnderlying()) == spanEnd) {
-                            // Nothing to do - the correct portion is already bolded.
-                            return;
-                        }
-                    }
-
-                    // Clear any existing bold style spans.
-                    for (StyleSpan span : existingSpans) {
-                        if (span.getStyle() == Typeface.BOLD) {
-                            s.removeSpan(span);
-                        }
-                    }
-
-                    // Set the new bold span.
-                    s.setSpan(new StyleSpan(Typeface.BOLD), spanStart, spanEnd,
-                            Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
-                }
-            }
-        }
-    }
-
     @Override
     public void clearAllFields() {
         if (mFieldEditTexts != null) {
diff --git a/src/com/android/contacts/format/DisplayNameFormatter.java b/src/com/android/contacts/format/DisplayNameFormatter.java
index 07577f2..e525217 100644
--- a/src/com/android/contacts/format/DisplayNameFormatter.java
+++ b/src/com/android/contacts/format/DisplayNameFormatter.java
@@ -65,15 +65,6 @@
 
     public CharSequence getDisplayName(int displayOrder, boolean highlightingEnabled,
             char[] highlightedPrefix) {
-        // Compute the point at which name and alternate name overlap (for bolding).
-        int overlapPoint = FormatUtils.overlapPoint(mNameBuffer, mAlternateNameBuffer);
-        int boldStart = 0;
-        int boldEnd = overlapPoint;
-        if (displayOrder == ContactsContract.Preferences.DISPLAY_ORDER_ALTERNATIVE) {
-            boldStart = overlapPoint;
-            boldEnd = mNameBuffer.sizeCopied;
-        }
-
         int size = mNameBuffer.sizeCopied;
         if (size == 0) {
             return mUnknownNameText;
@@ -93,11 +84,6 @@
         if (highlightedPrefix != null) {
             text = mPrefixHighlighter.apply(text, highlightedPrefix);
         }
-        if (overlapPoint > 0) {
-            // Bold the first or last name.
-            text = FormatUtils.applyStyleToSpan(Typeface.BOLD, text, boldStart, boldEnd,
-                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
-        }
         return text;
     }
 }
diff --git a/src/com/android/contacts/group/GroupDetailFragment.java b/src/com/android/contacts/group/GroupDetailFragment.java
index 019dc11..a27d3e0 100644
--- a/src/com/android/contacts/group/GroupDetailFragment.java
+++ b/src/com/android/contacts/group/GroupDetailFragment.java
@@ -405,8 +405,8 @@
 
     @Override
     public void onPrepareOptionsMenu(Menu menu) {
-        mOptionsMenuEditable = isGroupEditable();
-        mOptionsMenuGroupPresent = isGroupPresent();
+        mOptionsMenuEditable = isGroupEditable() && isVisible();
+        mOptionsMenuGroupPresent = isGroupPresent() && isVisible();
 
         // Editing a group is always possible if a group is selected
         // TODO: check for external group (member editable) buganizer #5049046
diff --git a/src/com/android/contacts/group/GroupEditorFragment.java b/src/com/android/contacts/group/GroupEditorFragment.java
index ccc84a2..b060541 100644
--- a/src/com/android/contacts/group/GroupEditorFragment.java
+++ b/src/com/android/contacts/group/GroupEditorFragment.java
@@ -48,6 +48,8 @@
 import android.database.Cursor;
 import android.net.Uri;
 import android.os.Bundle;
+import android.os.Parcel;
+import android.os.Parcelable;
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.Intents;
 import android.text.TextUtils;
@@ -63,7 +65,6 @@
 import android.widget.AdapterView.OnItemClickListener;
 import android.widget.AutoCompleteTextView;
 import android.widget.BaseAdapter;
-import android.widget.EditText;
 import android.widget.ImageView;
 import android.widget.ListView;
 import android.widget.QuickContactBadge;
@@ -73,13 +74,24 @@
 import java.util.ArrayList;
 import java.util.List;
 
-// TODO: Use savedInstanceState
 public class GroupEditorFragment extends Fragment implements SelectAccountDialogFragment.Listener {
-
     private static final String TAG = "GroupEditorFragment";
 
     private static final String LEGACY_CONTACTS_AUTHORITY = "contacts";
 
+    private static final String KEY_ACTION = "action";
+    private static final String KEY_GROUP_URI = "groupUri";
+    private static final String KEY_GROUP_ID = "groupId";
+    private static final String KEY_STATUS = "status";
+    private static final String KEY_ACCOUNT_NAME = "accountName";
+    private static final String KEY_ACCOUNT_TYPE = "accountType";
+    private static final String KEY_DATA_SET = "dataSet";
+    private static final String KEY_GROUP_NAME_IS_READ_ONLY = "groupNameIsReadOnly";
+    private static final String KEY_ORIGINAL_GROUP_NAME = "originalGroupName";
+    private static final String KEY_MEMBERS_TO_ADD = "membersToAdd";
+    private static final String KEY_MEMBERS_TO_REMOVE = "membersToRemove";
+    private static final String KEY_MEMBERS_TO_DISPLAY = "membersToDisplay";
+
     public static interface Listener {
         /**
          * Group metadata was not found, close the fragment now.
@@ -92,11 +104,6 @@
         void onReverted();
 
         /**
-         * Title has been determined.
-         */
-        void onTitleLoaded(int resourceId);
-
-        /**
          * Contact was saved and the Fragment can now be closed safely.
          */
         void onSaveFinished(int resultCode, Intent resultIntent);
@@ -145,7 +152,8 @@
      * Modes that specify the status of the editor
      */
     public enum Status {
-        LOADING,    // Loader is fetching the data
+        SELECTING_ACCOUNT, // Account select dialog is showing
+        LOADING,    // Loader is fetching the group metadata
         EDITING,    // Not currently busy. We are waiting forthe user to enter data.
         SAVING,     // Data is currently being saved
         CLOSING     // Prevents any more saves
@@ -170,10 +178,11 @@
     private TextView mAccountNameTextView;
     private AutoCompleteTextView mAutoCompleteTextView;
 
-    private boolean mGroupNameIsReadOnly;
     private String mAccountName;
     private String mAccountType;
     private String mDataSet;
+
+    private boolean mGroupNameIsReadOnly;
     private String mOriginalGroupName = "";
 
     private MemberListAdapter mMemberListAdapter;
@@ -182,9 +191,9 @@
     private ContentResolver mContentResolver;
     private SuggestedMemberListAdapter mAutoCompleteAdapter;
 
-    private List<Member> mListMembersToAdd = new ArrayList<Member>();
-    private List<Member> mListMembersToRemove = new ArrayList<Member>();
-    private List<Member> mListToDisplay = new ArrayList<Member>();
+    private final List<Member> mListMembersToAdd = new ArrayList<Member>();
+    private final List<Member> mListMembersToRemove = new ArrayList<Member>();
+    private final List<Member> mListToDisplay = new ArrayList<Member>();
 
     public GroupEditorFragment() {
     }
@@ -209,18 +218,19 @@
     public void onActivityCreated(Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
 
-        // Edit an existing group
-        if (Intent.ACTION_EDIT.equals(mAction)) {
-            if (mListener != null) {
-                mListener.onTitleLoaded(R.string.editGroup_title_edit);
+        if (savedInstanceState != null) {
+            // Just restore from the saved state.  No loading.
+            onRestoreInstanceState(savedInstanceState);
+            if (mStatus == Status.SELECTING_ACCOUNT) {
+                // Account select dialog is showing.  Don't setup the editor yet.
+            } else if (mStatus == Status.LOADING) {
+                startGroupMetaDataLoader();
+            } else {
+                setupEditorForAccount();
             }
-            getLoaderManager().initLoader(LOADER_GROUP_METADATA, null,
-                    mGroupMetaDataLoaderListener);
+        } else if (Intent.ACTION_EDIT.equals(mAction)) {
+            startGroupMetaDataLoader();
         } else if (Intent.ACTION_INSERT.equals(mAction)) {
-            if (mListener != null) {
-                mListener.onTitleLoaded(R.string.editGroup_title_insert);
-            }
-
             final Account account = mIntentExtras == null ? null :
                     (Account) mIntentExtras.getParcelable(Intents.Insert.ACCOUNT);
             final String dataSet = mIntentExtras == null ? null :
@@ -242,6 +252,51 @@
         }
     }
 
+    private void startGroupMetaDataLoader() {
+        mStatus = Status.LOADING;
+        getLoaderManager().initLoader(LOADER_GROUP_METADATA, null,
+                mGroupMetaDataLoaderListener);
+    }
+
+    @Override
+    public void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+        outState.putString(KEY_ACTION, mAction);
+        outState.putParcelable(KEY_GROUP_URI, mGroupUri);
+        outState.putLong(KEY_GROUP_ID, mGroupId);
+
+        outState.putSerializable(KEY_STATUS, mStatus);
+        outState.putString(KEY_ACCOUNT_NAME, mAccountName);
+        outState.putString(KEY_ACCOUNT_TYPE, mAccountType);
+        outState.putString(KEY_DATA_SET, mDataSet);
+
+        outState.putBoolean(KEY_GROUP_NAME_IS_READ_ONLY, mGroupNameIsReadOnly);
+        outState.putString(KEY_ORIGINAL_GROUP_NAME, mOriginalGroupName);
+
+        outState.putParcelableArray(KEY_MEMBERS_TO_ADD, Member.toArray(mListMembersToAdd));
+        outState.putParcelableArray(KEY_MEMBERS_TO_REMOVE, Member.toArray(mListMembersToRemove));
+        outState.putParcelableArray(KEY_MEMBERS_TO_DISPLAY, Member.toArray(mListToDisplay));
+    }
+
+    private void onRestoreInstanceState(Bundle state) {
+        mAction = state.getString(KEY_ACTION);
+        mGroupUri = state.getParcelable(KEY_GROUP_URI);
+        mGroupId = state.getLong(KEY_GROUP_ID);
+
+        mStatus = (Status) state.getSerializable(KEY_STATUS);
+        mAccountName = state.getString(KEY_ACCOUNT_NAME);
+        mAccountType = state.getString(KEY_ACCOUNT_TYPE);
+        mDataSet = state.getString(KEY_DATA_SET);
+
+        mGroupNameIsReadOnly = state.getBoolean(KEY_GROUP_NAME_IS_READ_ONLY);
+        mOriginalGroupName = state.getString(KEY_ORIGINAL_GROUP_NAME);
+
+        Member.toList((Member[]) state.getParcelableArray(KEY_MEMBERS_TO_ADD), mListMembersToAdd);
+        Member.toList((Member[]) state.getParcelableArray(KEY_MEMBERS_TO_REMOVE),
+                mListMembersToRemove);
+        Member.toList((Member[]) state.getParcelableArray(KEY_MEMBERS_TO_DISPLAY), mListToDisplay);
+    }
+
     public void setContentResolver(ContentResolver resolver) {
         mContentResolver = resolver;
         if (mAutoCompleteAdapter != null) {
@@ -267,6 +322,7 @@
             return;  // Don't show a dialog.
         }
 
+        mStatus = Status.SELECTING_ACCOUNT;
         final SelectAccountDialogFragment dialog = new SelectAccountDialogFragment(
                 R.string.dialog_new_group_account);
         dialog.setTargetFragment(this, 0);
@@ -289,13 +345,27 @@
         }
     }
 
+    private AccountType getAccountType() {
+        return AccountTypeManager.getInstance(mContext).getAccountType(mAccountType, mDataSet);
+    }
+
+    /**
+     * @return true if the group membership is editable on this account type.  false otherwise,
+     *         or account is not set yet.
+     */
+    private boolean isGroupMembershipEditable() {
+        if (mAccountType == null) {
+            return false;
+        }
+        return getAccountType().isGroupMembershipEditable();
+    }
+
     /**
      * Sets up the editor based on the group's account name and type.
      */
     private void setupEditorForAccount() {
-        final AccountTypeManager accountTypeManager = AccountTypeManager.getInstance(mContext);
-        final AccountType accountType = accountTypeManager.getAccountType(mAccountType, mDataSet);
-        final boolean editable = accountType.isGroupMembershipEditable();
+        final AccountType accountType = getAccountType();
+        final boolean editable = isGroupMembershipEditable();
         mMemberListAdapter.setIsGroupMembershipEditable(editable);
 
         View editorView = mLayoutInflater.inflate(editable ?
@@ -345,8 +415,14 @@
                     mAutoCompleteTextView.setText("");
                 }
             });
+            // Update the exempt list.  (mListToDisplay might have been restored from the saved
+            // state.)
+            mAutoCompleteAdapter.updateExistingMembersList(mListToDisplay);
         }
 
+        // If the group name is ready only, don't let the user focus on the field.
+        mGroupNameView.setFocusable(!mGroupNameIsReadOnly);
+
         mRootView.addView(editorView);
         mStatus = Status.EDITING;
     }
@@ -359,30 +435,21 @@
     }
 
     private void bindGroupMetaData(Cursor cursor) {
-        if (cursor.getCount() == 0) {
-            if (mListener != null) {
-                mListener.onGroupNotFound();
-            }
-        }
-        try {
-            cursor.moveToFirst();
-            mOriginalGroupName = cursor.getString(GroupMetaDataLoader.TITLE);
-            mAccountName = cursor.getString(GroupMetaDataLoader.ACCOUNT_NAME);
-            mAccountType = cursor.getString(GroupMetaDataLoader.ACCOUNT_TYPE);
-            mGroupNameIsReadOnly = (cursor.getInt(GroupMetaDataLoader.IS_READ_ONLY) == 1);
-        } catch (Exception e) {
+        if (!cursor.moveToFirst()) {
             Log.i(TAG, "Group not found with URI: " + mGroupUri + " Closing activity now.");
             if (mListener != null) {
                 mListener.onGroupNotFound();
             }
-        } finally {
-            cursor.close();
+            return;
         }
+        mOriginalGroupName = cursor.getString(GroupMetaDataLoader.TITLE);
+        mAccountName = cursor.getString(GroupMetaDataLoader.ACCOUNT_NAME);
+        mAccountType = cursor.getString(GroupMetaDataLoader.ACCOUNT_TYPE);
+        mGroupNameIsReadOnly = (cursor.getInt(GroupMetaDataLoader.IS_READ_ONLY) == 1);
         setupEditorForAccount();
-        // Setup the group metadata display (If the group name is ready only, don't let the user
-        // focus on the field).
+
+        // Setup the group metadata display
         mGroupNameView.setText(mOriginalGroupName);
-        mGroupNameView.setFocusable(!mGroupNameIsReadOnly);
     }
 
     public void loadMemberToAddToGroup(long rawContactId, String contactId) {
@@ -396,8 +463,13 @@
         mListener = value;
     }
 
-    public void doSaveAction() {
-        save(SaveMode.CLOSE);
+    public void onDoneClicked() {
+        if (isGroupMembershipEditable()) {
+            save(SaveMode.CLOSE);
+        } else {
+            // Just revert it.
+            doRevertAction();
+        }
     }
 
     @Override
@@ -596,13 +668,13 @@
         return membersArray;
     }
 
-    private void addExistingMembers(List<Member> members, List<Long> listContactIds) {
+    private void addExistingMembers(List<Member> members) {
         mListToDisplay.addAll(members);
         mMemberListAdapter.notifyDataSetChanged();
 
         // Update the autocomplete adapter (if there is one) so these contacts don't get suggested
         if (mAutoCompleteAdapter != null) {
-            mAutoCompleteAdapter.updateExistingMembersList(listContactIds);
+            mAutoCompleteAdapter.updateExistingMembersList(members);
         }
     }
 
@@ -672,29 +744,23 @@
 
         @Override
         public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
-            List<Long> listContactIds = new ArrayList<Long>();
             List<Member> listExistingMembers = new ArrayList<Member>();
-            try {
-                data.moveToPosition(-1);
-                while (data.moveToNext()) {
-                    long contactId = data.getLong(GroupMemberLoader.CONTACT_ID_COLUMN_INDEX);
-                    long rawContactId = data.getLong(GroupMemberLoader.RAW_CONTACT_ID_COLUMN_INDEX);
-                    String lookupKey = data.getString(
-                            GroupMemberLoader.CONTACT_LOOKUP_KEY_COLUMN_INDEX);
-                    String displayName = data.getString(
-                            GroupMemberLoader.CONTACT_DISPLAY_NAME_PRIMARY_COLUMN_INDEX);
-                    String photoUri = data.getString(
-                            GroupMemberLoader.CONTACT_PHOTO_URI_COLUMN_INDEX);
-                    listExistingMembers.add(new Member(rawContactId, lookupKey, contactId,
-                            displayName, photoUri));
-                    listContactIds.add(contactId);
-                }
-            } finally {
-                data.close();
+            data.moveToPosition(-1);
+            while (data.moveToNext()) {
+                long contactId = data.getLong(GroupMemberLoader.CONTACT_ID_COLUMN_INDEX);
+                long rawContactId = data.getLong(GroupMemberLoader.RAW_CONTACT_ID_COLUMN_INDEX);
+                String lookupKey = data.getString(
+                        GroupMemberLoader.CONTACT_LOOKUP_KEY_COLUMN_INDEX);
+                String displayName = data.getString(
+                        GroupMemberLoader.CONTACT_DISPLAY_NAME_PRIMARY_COLUMN_INDEX);
+                String photoUri = data.getString(
+                        GroupMemberLoader.CONTACT_PHOTO_URI_COLUMN_INDEX);
+                listExistingMembers.add(new Member(rawContactId, lookupKey, contactId,
+                        displayName, photoUri));
             }
 
             // Update the display list
-            addExistingMembers(listExistingMembers, listContactIds);
+            addExistingMembers(listExistingMembers);
 
             // No more updates
             // TODO: move to a runnable
@@ -725,26 +791,17 @@
 
         @Override
         public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
-            // Retrieve the contact data fields that will be sufficient to update the adapter with
-            // a new entry for this contact
-            Member member = null;
-            try {
-                cursor.moveToFirst();
-                long contactId = cursor.getLong(CONTACT_ID_COLUMN_INDEX);
-                String displayName = cursor.getString(CONTACT_DISPLAY_NAME_PRIMARY_COLUMN_INDEX);
-                String lookupKey = cursor.getString(CONTACT_LOOKUP_KEY_COLUMN_INDEX);
-                String photoUri = cursor.getString(CONTACT_PHOTO_URI_COLUMN_INDEX);
-                getLoaderManager().destroyLoader(LOADER_NEW_GROUP_MEMBER);
-                member = new Member(mRawContactId, lookupKey, contactId, displayName, photoUri);
-            } finally {
-                cursor.close();
-            }
-
-            if (member == null) {
+            if (!cursor.moveToFirst()) {
                 return;
             }
-
-            // Otherwise continue adding the member to list of members
+            // Retrieve the contact data fields that will be sufficient to update the adapter with
+            // a new entry for this contact
+            long contactId = cursor.getLong(CONTACT_ID_COLUMN_INDEX);
+            String displayName = cursor.getString(CONTACT_DISPLAY_NAME_PRIMARY_COLUMN_INDEX);
+            String lookupKey = cursor.getString(CONTACT_LOOKUP_KEY_COLUMN_INDEX);
+            String photoUri = cursor.getString(CONTACT_PHOTO_URI_COLUMN_INDEX);
+            getLoaderManager().destroyLoader(LOADER_NEW_GROUP_MEMBER);
+            Member member = new Member(mRawContactId, lookupKey, contactId, displayName, photoUri);
             addMember(member);
         }
 
@@ -755,7 +812,9 @@
     /**
      * This represents a single member of the current group.
      */
-    public static class Member {
+    public static class Member implements Parcelable {
+        private static final Member[] EMPTY_ARRAY = new Member[0];
+
         // TODO: Switch to just dealing with raw contact IDs everywhere if possible
         private final long mRawContactId;
         private final long mContactId;
@@ -800,6 +859,55 @@
             }
             return false;
         }
+
+        // Parcelable
+        @Override
+        public int describeContents() {
+            return 0;
+        }
+
+        @Override
+        public void writeToParcel(Parcel dest, int flags) {
+            dest.writeLong(mRawContactId);
+            dest.writeLong(mContactId);
+            dest.writeParcelable(mLookupUri, flags);
+            dest.writeString(mDisplayName);
+            dest.writeParcelable(mPhotoUri, flags);
+        }
+
+        private Member(Parcel in) {
+            mRawContactId = in.readLong();
+            mContactId = in.readLong();
+            mLookupUri = in.readParcelable(getClass().getClassLoader());
+            mDisplayName = in.readString();
+            mPhotoUri = in.readParcelable(getClass().getClassLoader());
+        }
+
+        public static final Parcelable.Creator<Member> CREATOR = new Parcelable.Creator<Member>() {
+            public Member createFromParcel(Parcel in) {
+                return new Member(in);
+            }
+
+            public Member[] newArray(int size) {
+                return new Member[size];
+            }
+        };
+
+        /** Convert to an array */
+        public static Member[] toArray(List<Member> list) {
+            return list.toArray(EMPTY_ARRAY);
+        }
+
+        /**
+         * Convert to a list.  Instead of creating a new one, this method clears the passed list
+         * and adds elements to it.
+         */
+        public static void toList(Member[] array, List<Member> list) {
+            list.clear();
+            for (Member member : array) {
+                list.add(member);
+            }
+        }
     }
 
     /**
diff --git a/src/com/android/contacts/group/SuggestedMemberListAdapter.java b/src/com/android/contacts/group/SuggestedMemberListAdapter.java
index 653cc25..f671b65 100644
--- a/src/com/android/contacts/group/SuggestedMemberListAdapter.java
+++ b/src/com/android/contacts/group/SuggestedMemberListAdapter.java
@@ -82,7 +82,7 @@
 
     // TODO: Make this a Map for better performance when we check if a new contact is in the list
     // or not
-    private List<Long> mExistingMemberContactIds = new ArrayList<Long>();
+    private final List<Long> mExistingMemberContactIds = new ArrayList<Long>();
 
     private static final int SUGGESTIONS_LIMIT = 5;
 
@@ -107,8 +107,11 @@
         mContentResolver = resolver;
     }
 
-    public void updateExistingMembersList(List<Long> listContactIds) {
-        mExistingMemberContactIds = listContactIds;
+    public void updateExistingMembersList(List<GroupEditorFragment.Member> list) {
+        mExistingMemberContactIds.clear();
+        for (GroupEditorFragment.Member member : list) {
+            mExistingMemberContactIds.add(member.getContactId());
+        }
     }
 
     public void addNewMember(long contactId) {
diff --git a/src/com/android/contacts/list/ContactEntryListAdapter.java b/src/com/android/contacts/list/ContactEntryListAdapter.java
index f95dea3..4ac54dc 100644
--- a/src/com/android/contacts/list/ContactEntryListAdapter.java
+++ b/src/com/android/contacts/list/ContactEntryListAdapter.java
@@ -35,6 +35,7 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.QuickContactBadge;
+import android.widget.SectionIndexer;
 import android.widget.TextView;
 
 import java.util.HashSet;
@@ -63,7 +64,17 @@
 
     private boolean mDisplayPhotos;
     private boolean mQuickContactEnabled;
+
+    /**
+     * indicates if contact queries include profile
+     */
     private boolean mIncludeProfile;
+
+    /**
+     * indicates if query results includes a profile
+     */
+    private boolean mProfileExists;
+
     private ContactPhotoManager mPhotoLoader;
 
     private String mQueryString;
@@ -78,6 +89,7 @@
     private boolean mSelectionVisible;
 
     private ContactListFilter mFilter;
+    private String mContactsCount = "";
 
     public ContactEntryListAdapter(Context context) {
         super(context);
@@ -94,6 +106,20 @@
         ((ContactListPinnedHeaderView)pinnedHeaderView).setSectionHeader(title);
     }
 
+    protected void setPinnedHeaderContactsCount(View header) {
+        // Update the header with the contacts count only if a profile header exists
+        // otherwise, the contacts count are shown in the empty profile header view
+        if (mProfileExists) {
+            ((ContactListPinnedHeaderView)header).setCountView(mContactsCount);
+        } else {
+            clearPinnedHeaderContactsCount(header);
+        }
+    }
+
+    protected void clearPinnedHeaderContactsCount(View header) {
+        ((ContactListPinnedHeaderView)header).setCountView(null);
+    }
+
     protected void addPartitions() {
         addPartition(createDefaultDirectoryPartition());
     }
@@ -278,6 +304,22 @@
         mIncludeProfile = includeProfile;
     }
 
+    public void setProfileExists(boolean exists) {
+        mProfileExists = exists;
+        // Stick the "ME" header for the profile
+        if (exists) {
+            SectionIndexer indexer = getIndexer();
+            if (indexer != null) {
+                ((ContactsSectionIndexer) indexer).setProfileHeader(
+                        getContext().getString(R.string.user_profile_contacts_list_header));
+            }
+        }
+    }
+
+    public boolean hasProfile() {
+        return mProfileExists;
+    }
+
     public void configureDirectoryLoader(DirectoryListLoader loader) {
         loader.setDirectorySearchMode(mDirectorySearchMode);
         loader.setLocalInvisibleDirectoryEnabled(LOCAL_INVISIBLE_DIRECTORY_ENABLED);
@@ -571,32 +613,6 @@
         mFilter = filter;
     }
 
-    @Override
-    public Placement getItemPlacementInSection(int position) {
-        // Special case code to prevent a section header from being displayed above the user's
-        // profile entry.
-        if (isUserProfile(position)) {
-            // The user profile entry shouldn't display a section header above; the header should be
-            // displayed on top of the item below.
-            Placement placement = new Placement();
-            placement.firstInSection = false;
-            placement.lastInSection = false;
-            placement.sectionHeader = null;
-            return placement;
-        } else if (position > 0 && isUserProfile(position - 1)) {
-            // If the item in the previous position is the user's profile, behave as if this entry
-            // is the first in the section.
-            Placement profilePlacement = super.getItemPlacementInSection(position - 1);
-            String profileHeader = profilePlacement.sectionHeader;
-            Placement placement = super.getItemPlacementInSection(position);
-            placement.firstInSection = true;
-            placement.sectionHeader = profileHeader;
-            return placement;
-        } else {
-            return super.getItemPlacementInSection(position);
-        }
-    }
-
     // TODO: move sharable logic (bindXX() methods) to here with extra arguments
 
     protected void bindQuickContact(final ContactListItemView view, int partitionIndex,
@@ -624,4 +640,12 @@
         }
         return uri;
     }
+
+    public void setContactsCount(String count) {
+        mContactsCount = count;
+    }
+
+    public String getContactsCount() {
+        return mContactsCount;
+    }
 }
diff --git a/src/com/android/contacts/list/ContactEntryListFragment.java b/src/com/android/contacts/list/ContactEntryListFragment.java
index 73d0859..4ddba75 100644
--- a/src/com/android/contacts/list/ContactEntryListFragment.java
+++ b/src/com/android/contacts/list/ContactEntryListFragment.java
@@ -134,6 +134,8 @@
 
     private boolean mForceLoad;
 
+    protected boolean mUserProfileExists;
+
     private static final int STATUS_NOT_LOADED = 0;
     private static final int STATUS_LOADING = 1;
     private static final int STATUS_LOADED = 2;
@@ -444,6 +446,7 @@
         }
 
         mAdapter.changeCursor(partitionIndex, data);
+        setProfileHeader();
         showCount(partitionIndex, data);
 
         if (!isLoading()) {
@@ -499,6 +502,14 @@
     }
 
     /**
+     * Shows a view at the top of the list with a pseudo local profile prompting the user to add
+     * a local profile. Default implementation does nothing.
+     */
+    protected void setProfileHeader() {
+        mUserProfileExists = false;
+    }
+
+    /**
      * Provides logic that dismisses this fragment. The default implementation
      * does nothing.
      */
@@ -585,6 +596,9 @@
 
     public void setIncludeProfile(boolean flag) {
         mIncludeProfile = flag;
+        if(mAdapter != null) {
+            mAdapter.setIncludeProfile(flag);
+        }
     }
 
     public void setSearchMode(boolean flag) {
diff --git a/src/com/android/contacts/list/ContactListAdapter.java b/src/com/android/contacts/list/ContactListAdapter.java
index 48fd342..51cc965 100644
--- a/src/com/android/contacts/list/ContactListAdapter.java
+++ b/src/com/android/contacts/list/ContactListAdapter.java
@@ -113,14 +113,12 @@
     private String mSelectedContactLookupKey;
     private long mSelectedContactId;
 
-    // View types for entries in the list view.
-    private final int mViewTypeProfileEntry;
+    private ContactListFilter mFilter;
 
     public ContactListAdapter(Context context) {
         super(context);
 
         mUnknownNameText = context.getText(R.string.missing_name);
-        mViewTypeProfileEntry = getViewTypeCount() - 1;
     }
 
     public CharSequence getUnknownNameText() {
@@ -226,12 +224,7 @@
     @Override
     protected View newView(Context context, int partition, Cursor cursor, int position,
             ViewGroup parent) {
-        ContactListItemView view;
-        if (getItemViewType(position) == mViewTypeProfileEntry) {
-            view = new ContactListProfileItemView(context, null);
-        } else {
-            view = new ContactListItemView(context, null);
-        }
+        ContactListItemView view = new ContactListItemView(context, null);
         view.setUnknownNameText(mUnknownNameText);
         view.setTextWithHighlightingFactory(getTextWithHighlightingFactory());
         view.setQuickContactEnabled(isQuickContactEnabled());
@@ -239,32 +232,23 @@
         return view;
     }
 
-    @Override
-    public int getItemViewType(int position) {
-        return isUserProfile(position)
-                ? mViewTypeProfileEntry
-                : super.getItemViewType(position);
-    }
-
-    @Override
-    public int getItemViewTypeCount() {
-        return super.getItemViewTypeCount() + 1;
-    }
-
-    @Override
-    public int getViewTypeCount() {
-        // One extra view type - the user's profile entry view.
-        return super.getViewTypeCount() + 1;
-    }
-
-    protected void bindSectionHeaderAndDivider(ContactListItemView view, int position) {
+    protected void bindSectionHeaderAndDivider(ContactListItemView view, int position,
+            Cursor cursor) {
         if (isSectionHeaderDisplayEnabled()) {
             Placement placement = getItemPlacementInSection(position);
-            view.setSectionHeader(placement.firstInSection ? placement.sectionHeader : null);
+
+            // First position, set the contacts number string
+            if (position == 0 && cursor.getInt(CONTACT_IS_USER_PROFILE) == 1) {
+                view.setCountView(getContactsCount());
+            } else {
+                view.setCountView(null);
+            }
+            view.setSectionHeader(placement.sectionHeader);
             view.setDividerVisible(!placement.lastInSection);
         } else {
             view.setSectionHeader(null);
             view.setDividerVisible(true);
+            view.setCountView(null);
         }
     }
 
@@ -384,4 +368,15 @@
 
         return null;
     }
+
+    @Override
+    public void changeCursor(int partitionIndex, Cursor cursor) {
+        super.changeCursor(partitionIndex, cursor);
+
+        // Check if a profile exists
+        if (cursor != null && cursor.getCount() > 0) {
+            cursor.moveToFirst();
+            setProfileExists(cursor.getInt(CONTACT_IS_USER_PROFILE) == 1);
+        }
+    }
 }
diff --git a/src/com/android/contacts/list/ContactListItemView.java b/src/com/android/contacts/list/ContactListItemView.java
index 4c20dca..0fe8d0d 100644
--- a/src/com/android/contacts/list/ContactListItemView.java
+++ b/src/com/android/contacts/list/ContactListItemView.java
@@ -115,6 +115,7 @@
     private TextView mDataView;
     private TextView mSnippetView;
     private TextView mStatusView;
+    private TextView mCountView;
     private ImageView mPresenceIcon;
 
     private char[] mHighlightedPrefix;
@@ -346,6 +347,11 @@
             mHeaderTextView.measure(
                     MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
                     MeasureSpec.makeMeasureSpec(mHeaderBackgroundHeight, MeasureSpec.EXACTLY));
+            if (mCountView != null) {
+                mCountView.measure(
+                        MeasureSpec.makeMeasureSpec(width, MeasureSpec.AT_MOST),
+                        MeasureSpec.makeMeasureSpec(mHeaderBackgroundHeight, MeasureSpec.EXACTLY));
+            }
             mHeaderBackgroundHeight = Math.max(mHeaderBackgroundHeight,
                     mHeaderTextView.getMeasuredHeight());
             height += (mHeaderBackgroundHeight + mHeaderUnderlineHeight);
@@ -370,6 +376,12 @@
                     0,
                     width - mPaddingRight,
                     mHeaderBackgroundHeight);
+            if (mCountView != null) {
+                mCountView.layout(width - mPaddingRight - mCountView.getMeasuredWidth(),
+                        0,
+                        width - mPaddingRight,
+                        mHeaderBackgroundHeight);
+            }
             mHeaderDivider.layout(leftBound,
                     mHeaderBackgroundHeight,
                     width - mPaddingRight,
@@ -921,6 +933,36 @@
     }
 
     /**
+     * Returns the text view for the contacts count, creating it if necessary.
+     */
+    public TextView getCountView() {
+        if (mCountView == null) {
+            mCountView = new TextView(mContext);
+            mCountView.setSingleLine(true);
+            mCountView.setEllipsize(getTextEllipsis());
+            mCountView.setTextAppearance(mContext, android.R.style.TextAppearance_Medium);
+            mCountView.setTextColor(R.color.contact_count_text_color);
+            addView(mCountView);
+        }
+        return mCountView;
+    }
+
+    /**
+     * Adds or updates a text view for the contacts count.
+     */
+    public void setCountView(CharSequence text) {
+        if (TextUtils.isEmpty(text)) {
+            if (mCountView != null) {
+                mCountView.setVisibility(View.GONE);
+            }
+        } else {
+            getCountView();
+            mCountView.setText(text);
+            mCountView.setVisibility(VISIBLE);
+        }
+    }
+
+    /**
      * Adds or updates a text view for the status.
      */
     public void setStatus(CharSequence text) {
diff --git a/src/com/android/contacts/list/ContactListPinnedHeaderView.java b/src/com/android/contacts/list/ContactListPinnedHeaderView.java
index 5d0d7b1..a689045 100644
--- a/src/com/android/contacts/list/ContactListPinnedHeaderView.java
+++ b/src/com/android/contacts/list/ContactListPinnedHeaderView.java
@@ -45,9 +45,11 @@
     private final int mHeaderUnderlineColor;
     private final int mPaddingRight;
     private final int mPaddingLeft;
+    private final int mContactsCountTextColor;
 
     private int mHeaderBackgroundHeight;
     private TextView mHeaderTextView;
+    private TextView mCountTextView = null;
     private View mHeaderDivider;
 
     public ContactListPinnedHeaderView(Context context, AttributeSet attrs) {
@@ -72,6 +74,8 @@
                 R.styleable.ContactListItemView_list_item_padding_left, 0);
         mPaddingRight = a.getDimensionPixelOffset(
                 R.styleable.ContactListItemView_list_item_padding_right, 0);
+        mContactsCountTextColor = a.getColor(
+                R.styleable.ContactListItemView_list_item_contacts_count_text_color, Color.BLACK);
 
         a.recycle();
 
@@ -93,8 +97,13 @@
         int width = resolveSize(0, widthMeasureSpec);
 
         mHeaderTextView.measure(
-                MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
+                MeasureSpec.makeMeasureSpec(width, MeasureSpec.AT_MOST),
                 MeasureSpec.makeMeasureSpec(mHeaderBackgroundHeight, MeasureSpec.EXACTLY));
+        if (isViewMeasurable(mCountTextView)) {
+            mCountTextView.measure(
+                    MeasureSpec.makeMeasureSpec(width, MeasureSpec.AT_MOST),
+                    MeasureSpec.makeMeasureSpec(mHeaderBackgroundHeight, MeasureSpec.EXACTLY));
+        }
 
         setMeasuredDimension(width, mHeaderBackgroundHeight + mHeaderUnderlineHeight);
     }
@@ -105,8 +114,16 @@
 
         mHeaderTextView.layout(mHeaderTextIndent + mPaddingLeft,
                 0,
-                width,
+                mHeaderTextView.getMeasuredWidth() + mHeaderTextIndent + mPaddingLeft,
                 mHeaderBackgroundHeight);
+
+        if (isViewMeasurable(mCountTextView)) {
+            mCountTextView.layout(width - mPaddingRight - mCountTextView.getMeasuredWidth(),
+                    0,
+                    width,
+                    mHeaderBackgroundHeight);
+        }
+
         mHeaderDivider.layout(mPaddingLeft,
                 mHeaderBackgroundHeight,
                 width,
@@ -134,4 +151,23 @@
         // view (ListView).
         forceLayout();
     }
+
+    public void setCountView(String count) {
+        if (mCountTextView == null) {
+            mCountTextView = new TextView(mContext);
+            mCountTextView.setTextColor(mContactsCountTextColor);
+            mCountTextView.setTextSize(mHeaderTextSize);
+            addView(mCountTextView);
+        }
+        mCountTextView.setText(count);
+        if (count == null || count.isEmpty()) {
+            mCountTextView.setVisibility(View.GONE);
+        } else {
+            mCountTextView.setVisibility(View.VISIBLE);
+        }
+    }
+
+    private boolean isViewMeasurable(View view) {
+        return (view != null && view.getVisibility() == View.VISIBLE);
+    }
 }
diff --git a/src/com/android/contacts/list/ContactListProfileItemView.java b/src/com/android/contacts/list/ContactListProfileItemView.java
deleted file mode 100644
index f189366..0000000
--- a/src/com/android/contacts/list/ContactListProfileItemView.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.contacts.list;
-
-import com.android.contacts.R;
-
-import android.content.Context;
-import android.content.res.TypedArray;
-import android.database.Cursor;
-import android.util.AttributeSet;
-import android.widget.TextView;
-
-/**
- * Contact list entry that represents the user's personal profile data.
- */
-public class ContactListProfileItemView extends ContactListItemView {
-
-    public ContactListProfileItemView(Context context, AttributeSet attrs) {
-        super(context, attrs);
-
-        TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.ContactListItemView);
-        setDefaultPhotoViewSize(a.getDimensionPixelOffset(
-                R.styleable.ContactListItemView_list_item_profile_photo_size, 0));
-    }
-
-    @Override
-    public TextView getNameTextView() {
-        TextView nameTextView = super.getNameTextView();
-        nameTextView.setTextAppearance(getContext(), android.R.style.TextAppearance_Large);
-        return nameTextView;
-    }
-
-    @Override
-    public void showDisplayName(Cursor cursor, int nameColumnIndex, int alternativeNameColumnIndex,
-            boolean highlightingEnabled, int displayOrder) {
-        getNameTextView().setText(getContext().getText(R.string.profile_display_name));
-    }
-}
diff --git a/src/com/android/contacts/list/ContactTileAdapter.java b/src/com/android/contacts/list/ContactTileAdapter.java
index 0d4eb8c..cc0a184 100644
--- a/src/com/android/contacts/list/ContactTileAdapter.java
+++ b/src/com/android/contacts/list/ContactTileAdapter.java
@@ -341,6 +341,7 @@
     @Override
     public View getView(int position, View convertView, ViewGroup parent) {
         int itemViewType = getItemViewType(position);
+
         if (itemViewType == ViewTypes.DIVIDER) {
             // Checking For Divider First so not to cast convertView
             return convertView == null ? getDivider() : convertView;
@@ -353,7 +354,7 @@
             // Creating new row if needed
             contactTileRowView = new ContactTileRow(mContext, itemViewType);
         }
-        contactTileRowView.configureRow(contactList);
+        contactTileRowView.configureRow(contactList, position == getCount() - 1);
         return contactTileRowView;
     }
 
@@ -455,21 +456,21 @@
         /**
          * Configures the row to add {@link ContactEntry}s information to the views
          */
-        public void configureRow(ArrayList<ContactEntry> list) {
+        public void configureRow(ArrayList<ContactEntry> list, boolean isLastRow) {
             int columnCount = mItemViewType == ViewTypes.FREQUENT ? 1 : mColumnCount;
 
             // Adding tiles to row and filling in contact information
             for (int columnCounter = 0; columnCounter < columnCount; columnCounter++) {
                 ContactEntry entry =
                         columnCounter < list.size() ? list.get(columnCounter) : null;
-                addTileFromEntry(entry, columnCounter);
+                addTileFromEntry(entry, columnCounter, isLastRow);
             }
         }
 
-        private void addTileFromEntry(ContactEntry entry, int tileIndex) {
+        private void addTileFromEntry(ContactEntry entry, int childIndex, boolean isLastRow) {
             final ContactTileView contactTile;
 
-            if (getChildCount() <= tileIndex) {
+            if (getChildCount() <= childIndex) {
                 contactTile = (ContactTileView) inflate(mContext, mLayoutResId, null);
                 contactTile.setLayoutParams(new LinearLayout.LayoutParams(0,
                         LinearLayout.LayoutParams.WRAP_CONTENT, 1.0f));
@@ -477,10 +478,15 @@
                 contactTile.setListener(mContactTileListener);
                 addView(contactTile);
             } else {
-                contactTile = (ContactTileView) getChildAt(tileIndex);
+                contactTile = (ContactTileView) getChildAt(childIndex);
             }
             contactTile.setClickable(entry != null);
             contactTile.loadFromContact(entry);
+
+            contactTile.setVerticalDividerVisibility(
+                    childIndex >= mColumnCount - 1 ? View.GONE : View.VISIBLE);
+            contactTile.setHorizontalDividerVisibility(
+                    isLastRow ? View.GONE : View.VISIBLE);
         }
     }
 
diff --git a/src/com/android/contacts/list/ContactTileView.java b/src/com/android/contacts/list/ContactTileView.java
index 4dfa876..ef9c2fb 100644
--- a/src/com/android/contacts/list/ContactTileView.java
+++ b/src/com/android/contacts/list/ContactTileView.java
@@ -49,6 +49,8 @@
     private ContactPhotoManager mPhotoManager = null;
     private ImageButton mPushState;
     private Listener mListener;
+    private View mVerticalDivider;
+    private View mHorizontalDivider;
 
     public ContactTileView(Context context, AttributeSet attrs) {
         super(context, attrs);
@@ -66,6 +68,8 @@
         mPhoneLabel = (TextView) findViewById(R.id.contact_tile_phone_type);
         mPhoneNumber = (TextView) findViewById(R.id.contact_tile_phone_number);
         mPushState = (ImageButton) findViewById(R.id.contact_tile_push_state);
+        mVerticalDivider = findViewById(R.id.contact_tile_vertical_divider);
+        mHorizontalDivider = findViewById(R.id.contact_tile_horizontal_divider);
 
         OnClickListener listener = new OnClickListener() {
             @Override
@@ -148,6 +152,14 @@
         }
     }
 
+    public void setVerticalDividerVisibility(int visibility) {
+        if (mVerticalDivider != null) mVerticalDivider.setVisibility(visibility);
+    }
+
+    public void setHorizontalDividerVisibility(int visibility) {
+        if (mHorizontalDivider != null) mHorizontalDivider.setVisibility(visibility);
+    }
+
     public void setListener(Listener listener) {
         mListener = listener;
     }
diff --git a/src/com/android/contacts/list/ContactsSectionIndexer.java b/src/com/android/contacts/list/ContactsSectionIndexer.java
index a80d1de..109b8ba 100644
--- a/src/com/android/contacts/list/ContactsSectionIndexer.java
+++ b/src/com/android/contacts/list/ContactsSectionIndexer.java
@@ -93,4 +93,10 @@
          */
         return index >= 0 ? index : -index - 2;
     }
+
+    public void setProfileHeader(String header) {
+        if (mSections != null && mSections.length > 0) {
+            mSections[0] = header;
+        }
+    }
 }
diff --git a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
index b6a5be0..8590c29 100644
--- a/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/DefaultContactBrowseListFragment.java
@@ -16,13 +16,18 @@
 package com.android.contacts.list;
 
 import com.android.contacts.R;
+import com.android.contacts.editor.ContactEditorFragment;
 
+import android.content.Intent;
 import android.database.Cursor;
+import android.provider.ContactsContract.Contacts;
 import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.Button;
 import android.widget.FrameLayout;
+import android.widget.ListView;
 import android.widget.ProgressBar;
 import android.widget.TextView;
 
@@ -36,6 +41,10 @@
     private View mSearchHeaderView;
     private TextView mAccountFilterHeaderView;
     private View mAccountFilterHeaderContainer;
+    private View mProfileHeader;
+    private Button mProfileMessage;
+    private FrameLayout mMessageContainer;
+    private View mProfileTitle;
 
     public DefaultContactBrowseListFragment() {
         setPhotoLoaderEnabled(true);
@@ -70,6 +79,11 @@
                 getView().findViewById(R.id.account_filter_header_container);
         mCounterHeaderView = (TextView) getView().findViewById(R.id.contacts_count);
 
+        // Create an empty user profile header and hide it for now (it will be visible if the
+        // contacts list will have no user profile).
+        addEmptyUserProfileHeader(inflater);
+        showEmptyUserProfile(false);
+
         // Putting the header view inside a container will allow us to make
         // it invisible later. See checkHeaderViewVisibility()
         FrameLayout headerContainer = new FrameLayout(inflater.getContext());
@@ -125,7 +139,11 @@
             if (count != 0) {
                 String format = getResources().getQuantityText(
                         R.plurals.listTotalAllContacts, count).toString();
-                mCounterHeaderView.setText(String.format(format, count));
+                if (mUserProfileExists) {
+                    getAdapter().setContactsCount(String.format(format, count));
+                } else {
+                    mCounterHeaderView.setText(String.format(format, count));
+                }
             } else {
                 ContactListFilter filter = getFilter();
                 int filterType = filter != null ? filter.filterType
@@ -176,6 +194,56 @@
                 }
                 mSearchHeaderView.setVisibility(View.VISIBLE);
             }
+            showEmptyUserProfile(false);
         }
     }
+
+    @Override
+    protected void setProfileHeader() {
+        mUserProfileExists = getAdapter().hasProfile();
+        showEmptyUserProfile(!mUserProfileExists && !isSearchMode());
+    }
+
+    private void showEmptyUserProfile(boolean show) {
+        // Changing visibility of just the mProfileHeader doesn't do anything unless
+        // you change visibility of its children, hence the call to mCounterHeaderView
+        // and mProfileTitle
+        mProfileHeader.setVisibility(show ? View.VISIBLE : View.GONE);
+        mCounterHeaderView.setVisibility(show ? View.VISIBLE : View.GONE);
+        mProfileTitle.setVisibility(show ? View.VISIBLE : View.GONE);
+        mMessageContainer.setVisibility(show ? View.VISIBLE : View.GONE);
+        mProfileMessage.setVisibility(show ? View.VISIBLE : View.GONE);
+    }
+
+    /**
+     * This method creates a pseudo user profile contact. When the returned query doesn't have
+     * a profile, this methods creates 2 views that are inserted as headers to the listview:
+     * 1. A header view with the "ME" title and the contacts count.
+     * 2. A button that prompts the user to create a local profile
+     */
+    private void addEmptyUserProfileHeader(LayoutInflater inflater) {
+
+        ListView list = getListView();
+        // Put a header with the "ME" name and a view for the number of contacts
+        mProfileHeader = inflater.inflate(R.layout.user_profile_header, null, false);
+        mCounterHeaderView = (TextView) mProfileHeader.findViewById(R.id.contacts_count);
+        mProfileTitle = mProfileHeader.findViewById(R.id.profile_title);
+        list.addHeaderView(mProfileHeader, null, false);
+
+        // Add a selectable view with a message inviting the user to create a local profile
+        // The view is embedded in a frame view since you cannot change the visibility of a
+        // view in a ListView without having a parent view.
+        mMessageContainer = new FrameLayout(inflater.getContext());
+        mProfileMessage = (Button)inflater.inflate(R.layout.user_profile_button, null, false);
+        mMessageContainer.addView(mProfileMessage);
+        list.addHeaderView(mMessageContainer, null, true);
+
+        mProfileMessage.setOnClickListener(new View.OnClickListener() {
+            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);
+            }
+        });
+    }
 }
diff --git a/src/com/android/contacts/list/DefaultContactListAdapter.java b/src/com/android/contacts/list/DefaultContactListAdapter.java
index 8e96690..e9804f5 100644
--- a/src/com/android/contacts/list/DefaultContactListAdapter.java
+++ b/src/com/android/contacts/list/DefaultContactListAdapter.java
@@ -229,7 +229,7 @@
             view.setActivated(isSelectedContact(partition, cursor));
         }
 
-        bindSectionHeaderAndDivider(view, position);
+        bindSectionHeaderAndDivider(view, position, cursor);
 
         if (isQuickContactEnabled()) {
             bindQuickContact(view, partition, cursor,
diff --git a/src/com/android/contacts/list/JoinContactListAdapter.java b/src/com/android/contacts/list/JoinContactListAdapter.java
index e7a9eb9..e764125 100644
--- a/src/com/android/contacts/list/JoinContactListAdapter.java
+++ b/src/com/android/contacts/list/JoinContactListAdapter.java
@@ -217,7 +217,7 @@
             }
             case PARTITION_ALL_CONTACTS: {
                 final ContactListItemView view = (ContactListItemView)itemView;
-                bindSectionHeaderAndDivider(view, position);
+                bindSectionHeaderAndDivider(view, position, cursor);
                 bindPhoto(view, partition, cursor);
                 bindName(view, cursor);
                 break;
diff --git a/src/com/android/contacts/model/AccountType.java b/src/com/android/contacts/model/AccountType.java
index 59b9f45..a78185f 100644
--- a/src/com/android/contacts/model/AccountType.java
+++ b/src/com/android/contacts/model/AccountType.java
@@ -31,6 +31,7 @@
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.Data;
 import android.provider.ContactsContract.RawContacts;
+import android.view.inputmethod.EditorInfo;
 import android.widget.EditText;
 
 import java.text.Collator;
@@ -112,6 +113,16 @@
         return null;
     }
 
+    /**
+     * Returns an optional service that can be launched whenever a contact is being looked at.
+     * This allows the sync adapter to provide more up-to-date information.
+     * The service class should reside in the sync adapter package as determined by
+     * {@link #resPackageName}.
+     */
+    public String getViewContactNotifyServiceClassName() {
+        return null;
+    }
+
     public CharSequence getDisplayLabel(Context context) {
         return getResourceText(context, summaryResPackageName, titleRes, accountType);
     }
@@ -357,6 +368,10 @@
             this.isFullName = isFullName;
             return this;
         }
+
+        public boolean isMultiLine() {
+            return (inputType & EditorInfo.TYPE_TEXT_FLAG_MULTI_LINE) != 0;
+        }
     }
 
     /**
diff --git a/src/com/android/contacts/model/EntityDelta.java b/src/com/android/contacts/model/EntityDelta.java
index fe084f4..97ab347 100644
--- a/src/com/android/contacts/model/EntityDelta.java
+++ b/src/com/android/contacts/model/EntityDelta.java
@@ -31,6 +31,7 @@
 import android.provider.BaseColumns;
 import android.provider.ContactsContract.CommonDataKinds.GroupMembership;
 import android.provider.ContactsContract.Data;
+import android.provider.ContactsContract.Profile;
 import android.provider.ContactsContract.RawContacts;
 import android.util.Log;
 
@@ -66,6 +67,12 @@
     private ValuesDelta mValues;
 
     /**
+     * URI used for contacts queries, by default it is set to query raw contacts.
+     * It can be set to query the profile's raw contact(s).
+     */
+    private Uri mContactsQueryUri = RawContacts.CONTENT_URI;
+
+    /**
      * Internal map of children values from {@link Entity#getSubValues()}, which
      * we store here sorted into {@link Data#MIMETYPE} bins.
      */
@@ -367,7 +374,7 @@
             if (beforeId == null || beforeVersion == null) return;
 
             final ContentProviderOperation.Builder builder = ContentProviderOperation
-                    .newAssertQuery(RawContacts.CONTENT_URI);
+                    .newAssertQuery(mContactsQueryUri);
             builder.withSelection(RawContacts._ID + "=" + beforeId, null);
             builder.withValue(RawContacts.VERSION, beforeVersion);
             buildInto.add(builder.build());
@@ -398,7 +405,7 @@
         }
 
         // Build possible operation at Contact level
-        builder = mValues.buildDiff(RawContacts.CONTENT_URI);
+        builder = mValues.buildDiff(mContactsQueryUri);
         possibleAdd(buildInto, builder);
 
         // Build operations for all children
@@ -435,7 +442,7 @@
             buildInto.add(builder.build());
         } else if (isContactInsert) {
             // Restore aggregation mode as last operation
-            builder = ContentProviderOperation.newUpdate(RawContacts.CONTENT_URI);
+            builder = ContentProviderOperation.newUpdate(mContactsQueryUri);
             builder.withValue(RawContacts.AGGREGATION_MODE, RawContacts.AGGREGATION_MODE_DEFAULT);
             builder.withSelection(RawContacts._ID + "=?", new String[1]);
             builder.withSelectionBackReference(0, firstIndex);
@@ -448,7 +455,7 @@
      * {@link RawContacts#AGGREGATION_MODE} to the given value.
      */
     protected Builder buildSetAggregationMode(Long beforeId, int mode) {
-        Builder builder = ContentProviderOperation.newUpdate(RawContacts.CONTENT_URI);
+        Builder builder = ContentProviderOperation.newUpdate(mContactsQueryUri);
         builder.withValue(RawContacts.AGGREGATION_MODE, mode);
         builder.withSelection(RawContacts._ID + "=" + beforeId, null);
         return builder;
@@ -465,6 +472,7 @@
         final int size = this.getEntryCount(false);
         dest.writeInt(size);
         dest.writeParcelable(mValues, flags);
+        dest.writeParcelable(mContactsQueryUri, flags);
         for (ArrayList<ValuesDelta> mimeEntries : mEntries.values()) {
             for (ValuesDelta child : mimeEntries) {
                 dest.writeParcelable(child, flags);
@@ -476,12 +484,20 @@
         final ClassLoader loader = getClass().getClassLoader();
         final int size = source.readInt();
         mValues = source.<ValuesDelta> readParcelable(loader);
+        mContactsQueryUri = source.<Uri> readParcelable(loader);
         for (int i = 0; i < size; i++) {
             final ValuesDelta child = source.<ValuesDelta> readParcelable(loader);
             this.addEntry(child);
         }
     }
 
+    /**
+     * Used to set the query URI to the profile URI to store profiles.
+     */
+    public void setProfileQueryUri() {
+        mContactsQueryUri = Profile.CONTENT_RAW_CONTACTS_URI;
+    }
+
     public static final Parcelable.Creator<EntityDelta> CREATOR = new Parcelable.Creator<EntityDelta>() {
         public EntityDelta createFromParcel(Parcel in) {
             final EntityDelta state = new EntityDelta();
diff --git a/src/com/android/contacts/model/ExternalAccountType.java b/src/com/android/contacts/model/ExternalAccountType.java
index e5af8f8..5dd4d3b 100644
--- a/src/com/android/contacts/model/ExternalAccountType.java
+++ b/src/com/android/contacts/model/ExternalAccountType.java
@@ -57,6 +57,7 @@
     private static final String ATTR_CREATE_CONTACT_ACTIVITY = "createContactActivity";
     private static final String ATTR_INVITE_CONTACT_ACTIVITY = "inviteContactActivity";
     private static final String ATTR_INVITE_CONTACT_ACTION_LABEL = "inviteContactActionLabel";
+    private static final String ATTR_VIEW_CONTACT_NOTIFY_SERVICE = "viewContactNotifyService";
     private static final String ATTR_DATA_SET = "dataSet";
     private static final String ATTR_EXTENSION_PACKAGE_NAMES = "extensionPackageNames";
 
@@ -71,6 +72,7 @@
     private String mCreateContactActivityClassName;
     private String mInviteContactActivity;
     private String mInviteActionLabelAttribute;
+    private String mViewContactNotifyService;
     private List<String> mExtensionPackageNames;
     private int mInviteActionLabelResId;
     private String mAccountTypeLabelAttribute;
@@ -149,6 +151,11 @@
     }
 
     @Override
+    public String getViewContactNotifyServiceClassName() {
+        return mViewContactNotifyService;
+    }
+
+    @Override
     public List<String> getExtensionPackageNames() {
         return mExtensionPackageNames;
     }
@@ -193,6 +200,8 @@
                     mInviteContactActivity = value;
                 } else if (ATTR_INVITE_CONTACT_ACTION_LABEL.equals(attr)) {
                     mInviteActionLabelAttribute = value;
+                } else if (ATTR_VIEW_CONTACT_NOTIFY_SERVICE.equals(attr)) {
+                    mViewContactNotifyService = value;
                 } else if (ATTR_DATA_SET.equals(attr)) {
                     dataSet = value;
                 } else if (ATTR_EXTENSION_PACKAGE_NAMES.equals(attr)) {
diff --git a/src/com/android/contacts/test/NeededForTesting.java b/src/com/android/contacts/test/NeededForTesting.java
new file mode 100644
index 0000000..f40fe2c
--- /dev/null
+++ b/src/com/android/contacts/test/NeededForTesting.java
@@ -0,0 +1,30 @@
+/*
+ * 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.test;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Denotes that the class, constructor, method or field is used by tests and therefore cannot be
+ * removed by tools like ProGuard.
+ */
+@Retention(RetentionPolicy.CLASS)
+@Target({ElementType.TYPE, ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.FIELD})
+public @interface NeededForTesting {}
diff --git a/src/com/android/contacts/util/ExpirableCache.java b/src/com/android/contacts/util/ExpirableCache.java
index 0ee3bbe..196b03a 100644
--- a/src/com/android/contacts/util/ExpirableCache.java
+++ b/src/com/android/contacts/util/ExpirableCache.java
@@ -16,6 +16,8 @@
 
 package com.android.contacts.util;
 
+import com.android.contacts.test.NeededForTesting;
+
 import android.util.LruCache;
 
 import java.util.concurrent.atomic.AtomicInteger;
@@ -198,6 +200,7 @@
      *
      * @param key the key to look up
      */
+    @NeededForTesting
     public V get(K key) {
         CachedValue<V> cachedValue = getCachedValue(key);
         return cachedValue == null || cachedValue.isExpired() ? null : cachedValue.getValue();
diff --git a/src/com/android/contacts/util/StreamItemEntry.java b/src/com/android/contacts/util/StreamItemEntry.java
index dc54229..db15e3a 100644
--- a/src/com/android/contacts/util/StreamItemEntry.java
+++ b/src/com/android/contacts/util/StreamItemEntry.java
@@ -16,6 +16,8 @@
 
 package com.android.contacts.util;
 
+import com.android.contacts.test.NeededForTesting;
+
 import android.database.Cursor;
 import android.provider.ContactsContract.StreamItems;
 
@@ -46,6 +48,7 @@
     // Photos associated with this stream item.
     private List<StreamItemPhotoEntry> mPhotos;
 
+    @NeededForTesting
     public StreamItemEntry(long id, String text, String comments, long timestamp, String action,
             String actionUri, String resPackage, int iconRes, int labelRes) {
         mId = id;
diff --git a/src/com/android/contacts/widget/IndexerListAdapter.java b/src/com/android/contacts/widget/IndexerListAdapter.java
index 4cd7af0..a5aeb0f 100644
--- a/src/com/android/contacts/widget/IndexerListAdapter.java
+++ b/src/com/android/contacts/widget/IndexerListAdapter.java
@@ -70,6 +70,16 @@
      */
     protected abstract void setPinnedSectionTitle(View pinnedHeaderView, String title);
 
+    /**
+     * Sets the contacts count in the pinned header.
+     */
+    protected abstract void setPinnedHeaderContactsCount(View header);
+
+    /**
+     * clears the contacts count in the pinned header and makes the view invisible.
+     */
+    protected abstract void clearPinnedHeaderContactsCount(View header);
+
     public boolean isSectionHeaderDisplayEnabled() {
         return mSectionHeaderDisplayEnabled;
     }
@@ -174,7 +184,11 @@
                 listView.setHeaderInvisible(index, false);
             } else {
                 setPinnedSectionTitle(mHeader, (String)mIndexer.getSections()[section]);
-
+                if (section == 0) {
+                    setPinnedHeaderContactsCount(mHeader);
+                } else {
+                    clearPinnedHeaderContactsCount(mHeader);
+                }
                 // Compute the item position where the current partition begins
                 int partitionStart = getPositionForPartition(mIndexedPartition);
                 if (hasHeader(mIndexedPartition)) {
diff --git a/tests/src/com/android/contacts/PhoneCallDetailsHelperTest.java b/tests/src/com/android/contacts/PhoneCallDetailsHelperTest.java
index 487a13f..40a33b6 100644
--- a/tests/src/com/android/contacts/PhoneCallDetailsHelperTest.java
+++ b/tests/src/com/android/contacts/PhoneCallDetailsHelperTest.java
@@ -50,6 +50,8 @@
     private static final String TEST_FORMATTED_NUMBER = "1-412-255-5555";
     /** The country ISO name used in the tests. */
     private static final String TEST_COUNTRY_ISO = "US";
+    /** The geocoded location used in the tests. */
+    private static final String TEST_GEOCODE = "United States";
 
     /** The object under test. */
     private PhoneCallDetailsHelper mHelper;
@@ -268,7 +270,7 @@
     /** Sets the phone call details with default values and the given number. */
     private void setPhoneCallDetailsWithNumber(String number, String formattedNumber) {
         mHelper.setPhoneCallDetails(mViews,
-                new PhoneCallDetails(number, formattedNumber, TEST_COUNTRY_ISO,
+                new PhoneCallDetails(number, formattedNumber, TEST_COUNTRY_ISO, TEST_GEOCODE,
                         new int[]{ Calls.VOICEMAIL_TYPE }, TEST_DATE, TEST_DURATION),
                 true);
     }
@@ -277,7 +279,7 @@
     private void setPhoneCallDetailsWithDate(long date) {
         mHelper.setPhoneCallDetails(mViews,
                 new PhoneCallDetails(TEST_NUMBER, TEST_FORMATTED_NUMBER, TEST_COUNTRY_ISO,
-                        new int[]{ Calls.INCOMING_TYPE }, date, TEST_DURATION),
+                        TEST_GEOCODE, new int[]{ Calls.INCOMING_TYPE }, date, TEST_DURATION),
                 false);
     }
 
@@ -285,20 +287,20 @@
     private void setPhoneCallDetailsWithCallTypeIcons(int... callTypes) {
         mHelper.setPhoneCallDetails(mViews,
                 new PhoneCallDetails(TEST_NUMBER, TEST_FORMATTED_NUMBER, TEST_COUNTRY_ISO,
-                        callTypes, TEST_DATE, TEST_DURATION),
+                        TEST_GEOCODE, callTypes, TEST_DATE, TEST_DURATION),
                 false);
     }
 
     private void setPhoneCallNameWithNumberOnly() {
         mHelper.setPhoneCallName(mNameView,
                 new PhoneCallDetails(TEST_NUMBER, TEST_FORMATTED_NUMBER, TEST_COUNTRY_ISO,
-                        new int[]{ Calls.INCOMING_TYPE }, TEST_DATE, TEST_DURATION));
+                        TEST_GEOCODE, new int[]{ Calls.INCOMING_TYPE }, TEST_DATE, TEST_DURATION));
     }
 
     private void setPhoneCallName(String name) {
         mHelper.setPhoneCallName(mNameView,
                 new PhoneCallDetails(TEST_NUMBER, TEST_FORMATTED_NUMBER, TEST_COUNTRY_ISO,
-                        new int[]{ Calls.INCOMING_TYPE }, TEST_DATE, TEST_DURATION,
+                        TEST_GEOCODE, new int[]{ Calls.INCOMING_TYPE }, TEST_DATE, TEST_DURATION,
                         name, 0, "", 1, null));
     }
 }
diff --git a/tests/src/com/android/contacts/activities/CallLogActivityTests.java b/tests/src/com/android/contacts/activities/CallLogActivityTests.java
index 827bd37..ce2418f 100644
--- a/tests/src/com/android/contacts/activities/CallLogActivityTests.java
+++ b/tests/src/com/android/contacts/activities/CallLogActivityTests.java
@@ -174,7 +174,7 @@
         insert(CallerInfo.PRIVATE_NUMBER, NOW, 0, Calls.INCOMING_TYPE);
         View view = mAdapter.newGroupView(getActivity(), mParentView);
         mAdapter.bindGroupView(view, getActivity(), mCursor, 3, false);
-        assertNotNull(view.findViewById(R.id.call_icon));
+        assertNotNull(view.findViewById(R.id.secondary_action_icon));
     }
 
     @MediumTest
@@ -183,7 +183,7 @@
         insert(CallerInfo.PRIVATE_NUMBER, NOW, 0, Calls.INCOMING_TYPE);
         View view = mAdapter.newStandAloneView(getActivity(), mParentView);
         mAdapter.bindStandAloneView(view, getActivity(), mCursor);
-        assertNotNull(view.findViewById(R.id.call_icon));
+        assertNotNull(view.findViewById(R.id.secondary_action_icon));
     }
 
     @MediumTest
@@ -192,7 +192,7 @@
         insert(CallerInfo.PRIVATE_NUMBER, NOW, 0, Calls.INCOMING_TYPE);
         View view = mAdapter.newChildView(getActivity(), mParentView);
         mAdapter.bindChildView(view, getActivity(), mCursor);
-        assertNotNull(view.findViewById(R.id.call_icon));
+        assertNotNull(view.findViewById(R.id.secondary_action_icon));
     }
 
     @MediumTest
@@ -281,8 +281,7 @@
         mAdapter.bindStandAloneView(view, getActivity(), mCursor);
 
         CallLogListItemViews views = (CallLogListItemViews) view.getTag();
-        assertEquals(View.VISIBLE, views.quickContactView.getVisibility());
-        assertEquals(View.INVISIBLE, views.plainPhotoView.getVisibility());
+        assertTrue(views.quickContactView.isEnabled());
     }
 
     @MediumTest
@@ -293,8 +292,7 @@
         mAdapter.bindStandAloneView(view, getActivity(), mCursor);
 
         CallLogListItemViews views = (CallLogListItemViews) view.getTag();
-        assertEquals(View.INVISIBLE, views.quickContactView.getVisibility());
-        assertEquals(View.VISIBLE, views.plainPhotoView.getVisibility());
+        assertFalse(views.quickContactView.isEnabled());
     }
 
     @MediumTest
@@ -305,7 +303,7 @@
         mAdapter.bindStandAloneView(view, getActivity(), mCursor);
 
         CallLogListItemViews views = (CallLogListItemViews) view.getTag();
-        IntentProvider intentProvider = (IntentProvider) views.callView.getTag();
+        IntentProvider intentProvider = (IntentProvider) views.secondaryActionView.getTag();
         Intent intent = intentProvider.getIntent(mActivity);
         // Starts a call.
         assertEquals(Intent.ACTION_CALL_PRIVILEGED, intent.getAction());
@@ -321,7 +319,7 @@
         mAdapter.bindStandAloneView(view, getActivity(), mCursor);
 
         CallLogListItemViews views = (CallLogListItemViews) view.getTag();
-        IntentProvider intentProvider = (IntentProvider) views.playView.getTag();
+        IntentProvider intentProvider = (IntentProvider) views.secondaryActionView.getTag();
         Intent intent = intentProvider.getIntent(mActivity);
         // Starts the call detail activity.
         assertEquals(new ComponentName(mActivity, CallDetailActivity.class),
@@ -359,9 +357,9 @@
             String number = getPhoneNumberForListEntry(i);
             if (CallerInfo.PRIVATE_NUMBER.equals(number) ||
                 CallerInfo.UNKNOWN_NUMBER.equals(number)) {
-                assertFalse(View.VISIBLE == mItem.callView.getVisibility());
+                assertFalse(View.VISIBLE == mItem.secondaryActionView.getVisibility());
             } else {
-                assertEquals(View.VISIBLE, mItem.callView.getVisibility());
+                assertEquals(View.VISIBLE, mItem.secondaryActionView.getVisibility());
             }
         }
     }
diff --git a/tests/src/com/android/contacts/calllog/CallLogListItemHelperTest.java b/tests/src/com/android/contacts/calllog/CallLogListItemHelperTest.java
index 1cf7da9..2c29608 100644
--- a/tests/src/com/android/contacts/calllog/CallLogListItemHelperTest.java
+++ b/tests/src/com/android/contacts/calllog/CallLogListItemHelperTest.java
@@ -42,6 +42,8 @@
     private static final String TEST_VOICEMAIL_NUMBER = "123";
     /** The country ISO name used in the tests. */
     private static final String TEST_COUNTRY_ISO = "US";
+    /** The geocoded location used in the tests. */
+    private static final String TEST_GEOCODE = "United States";
 
     /** The object under test. */
     private CallLogListItemHelper mHelper;
@@ -59,7 +61,7 @@
         mPhoneNumberHelper = new PhoneNumberHelper(resources, TEST_VOICEMAIL_NUMBER);
         PhoneCallDetailsHelper phoneCallDetailsHelper = new PhoneCallDetailsHelper(
                 resources, callTypeHelper, mPhoneNumberHelper);
-        mHelper = new CallLogListItemHelper(phoneCallDetailsHelper, mPhoneNumberHelper);
+        mHelper = new CallLogListItemHelper(phoneCallDetailsHelper, mPhoneNumberHelper, resources);
         mViews = CallLogListItemViews.createForTest(context);
     }
 
@@ -72,8 +74,7 @@
 
     public void testSetPhoneCallDetails() {
         setPhoneCallDetailsWithNumber("12125551234", "1-212-555-1234");
-        assertEquals(View.VISIBLE, mViews.callView.getVisibility());
-        assertEquals(View.GONE, mViews.playView.getVisibility());
+        assertEquals(View.VISIBLE, mViews.secondaryActionView.getVisibility());
         assertEquals(View.GONE, mViews.unheardView.getVisibility());
     }
 
@@ -94,37 +95,32 @@
 
     public void testSetPhoneCallDetails_VoicemailNumber() {
         setPhoneCallDetailsWithNumber(TEST_VOICEMAIL_NUMBER, TEST_VOICEMAIL_NUMBER);
-        assertEquals(View.VISIBLE, mViews.callView.getVisibility());
-        assertEquals(View.GONE, mViews.playView.getVisibility());
+        assertEquals(View.VISIBLE, mViews.secondaryActionView.getVisibility());
         assertEquals(View.GONE, mViews.unheardView.getVisibility());
     }
 
     public void testSetPhoneCallDetails_ReadVoicemail() {
         setPhoneCallDetailsWithTypes(Calls.VOICEMAIL_TYPE);
-        assertEquals(View.GONE, mViews.callView.getVisibility());
-        assertEquals(View.VISIBLE, mViews.playView.getVisibility());
+        assertEquals(View.VISIBLE, mViews.secondaryActionView.getVisibility());
         assertEquals(View.GONE, mViews.unheardView.getVisibility());
     }
 
     public void testSetPhoneCallDetails_UnreadVoicemail() {
         setUnreadPhoneCallDetailsWithTypes(Calls.VOICEMAIL_TYPE);
-        assertEquals(View.GONE, mViews.callView.getVisibility());
-        assertEquals(View.VISIBLE, mViews.playView.getVisibility());
+        assertEquals(View.VISIBLE, mViews.secondaryActionView.getVisibility());
         assertEquals(View.VISIBLE, mViews.unheardView.getVisibility());
     }
 
     public void testSetPhoneCallDetails_VoicemailFromUnknown() {
         setPhoneCallDetailsWithNumberAndType(CallerInfo.UNKNOWN_NUMBER, CallerInfo.UNKNOWN_NUMBER,
                 Calls.VOICEMAIL_TYPE);
-        assertEquals(View.GONE, mViews.callView.getVisibility());
-        assertEquals(View.VISIBLE, mViews.playView.getVisibility());
+        assertEquals(View.VISIBLE, mViews.secondaryActionView.getVisibility());
         assertEquals(View.GONE, mViews.unheardView.getVisibility());
     }
 
     /** Asserts that the whole call area is gone. */
     private void assertNoCallButton() {
-        assertEquals(View.GONE, mViews.callView.getVisibility());
-        assertEquals(View.GONE, mViews.playView.getVisibility());
+        assertEquals(View.GONE, mViews.secondaryActionView.getVisibility());
         assertEquals(View.GONE, mViews.unheardView.getVisibility());
         assertEquals(View.GONE, mViews.dividerView.getVisibility());
     }
@@ -138,7 +134,7 @@
     private void setPhoneCallDetailsWithNumberAndType(String number, String formattedNumber,
             int callType) {
         mHelper.setPhoneCallDetails(mViews,
-                new PhoneCallDetails(number, formattedNumber, TEST_COUNTRY_ISO,
+                new PhoneCallDetails(number, formattedNumber, TEST_COUNTRY_ISO, TEST_GEOCODE,
                         new int[]{ callType }, TEST_DATE, TEST_DURATION),
                 false);
     }
@@ -147,7 +143,7 @@
     private void setPhoneCallDetailsWithTypes(int... types) {
         mHelper.setPhoneCallDetails(mViews,
                 new PhoneCallDetails(TEST_NUMBER, TEST_FORMATTED_NUMBER, TEST_COUNTRY_ISO,
-                        types, TEST_DATE, TEST_DURATION),
+                        TEST_GEOCODE, types, TEST_DATE, TEST_DURATION),
                 false);
     }
 
@@ -155,7 +151,7 @@
     private void setUnreadPhoneCallDetailsWithTypes(int... types) {
         mHelper.setPhoneCallDetails(mViews,
                 new PhoneCallDetails(TEST_NUMBER, TEST_FORMATTED_NUMBER, TEST_COUNTRY_ISO,
-                        types, TEST_DATE, TEST_DURATION),
+                        TEST_GEOCODE, types, TEST_DATE, TEST_DURATION),
                 true);
     }
 }
diff --git a/tests/src/com/android/contacts/detail/ContactDetailDisplayUtilsTest.java b/tests/src/com/android/contacts/detail/ContactDetailDisplayUtilsTest.java
index aebb8c2..487eec9 100644
--- a/tests/src/com/android/contacts/detail/ContactDetailDisplayUtilsTest.java
+++ b/tests/src/com/android/contacts/detail/ContactDetailDisplayUtilsTest.java
@@ -27,7 +27,6 @@
 import android.text.Spanned;
 import android.view.LayoutInflater;
 import android.view.View;
-import android.view.ViewGroup;
 import android.widget.TextView;
 
 /**
@@ -105,11 +104,11 @@
 
     /**
      * Calls {@link ContactDetailDisplayUtils#addStreamItemText(LayoutInflater, Context,
-     * StreamItemEntry, ViewGroup)} with the default parameters and the given stream item.
+     * StreamItemEntry, View)} with the default parameters and the given stream item.
      */
     private View addStreamItemText(StreamItemEntry streamItem) {
-        return ContactDetailDisplayUtils.addStreamItemText(
-                mLayoutInflater, getContext(), streamItem, null);
+        return ContactDetailDisplayUtils.addStreamItemText(getContext(), streamItem,
+                mLayoutInflater.inflate(R.layout.stream_item_row_text_only, null));
     }
 
     private StreamItemEntryBuilder getTestBuilder() {