Further clean-up of PhoneFavoriteFragment.

Moving common dependencies from Contacts to ContactsCommon.

Bug: 6993891
Change-Id: I7530d13771b65f17dafa3f4f8283965622b1c71e
diff --git a/res-common/color/primary_text_color.xml b/res-common/color/primary_text_color.xml
new file mode 100644
index 0000000..acc2fb7
--- /dev/null
+++ b/res-common/color/primary_text_color.xml
@@ -0,0 +1,22 @@
+<?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_activated="true" android:color="#FFFFFF" />
+    <item android:color="#333333" /> <!-- not selected -->
+
+</selector>
diff --git a/res-common/drawable-hdpi/ic_contacts_holo_dark.png b/res-common/drawable-hdpi/ic_contacts_holo_dark.png
new file mode 100644
index 0000000..e5deb01
--- /dev/null
+++ b/res-common/drawable-hdpi/ic_contacts_holo_dark.png
Binary files differ
diff --git a/res-common/drawable-hdpi/ic_divider_dashed_holo_dark.png b/res-common/drawable-hdpi/ic_divider_dashed_holo_dark.png
new file mode 100644
index 0000000..663a2f8
--- /dev/null
+++ b/res-common/drawable-hdpi/ic_divider_dashed_holo_dark.png
Binary files differ
diff --git a/res-common/drawable-mdpi/ic_contacts_holo_dark.png b/res-common/drawable-mdpi/ic_contacts_holo_dark.png
new file mode 100644
index 0000000..d08b94a
--- /dev/null
+++ b/res-common/drawable-mdpi/ic_contacts_holo_dark.png
Binary files differ
diff --git a/res-common/drawable-mdpi/ic_divider_dashed_holo_dark.png b/res-common/drawable-mdpi/ic_divider_dashed_holo_dark.png
new file mode 100644
index 0000000..6652541
--- /dev/null
+++ b/res-common/drawable-mdpi/ic_divider_dashed_holo_dark.png
Binary files differ
diff --git a/res-common/drawable-xhdpi/ic_contacts_holo_dark.png b/res-common/drawable-xhdpi/ic_contacts_holo_dark.png
new file mode 100644
index 0000000..dc4c390
--- /dev/null
+++ b/res-common/drawable-xhdpi/ic_contacts_holo_dark.png
Binary files differ
diff --git a/res-common/drawable-xhdpi/ic_divider_dashed_holo_dark.png b/res-common/drawable-xhdpi/ic_divider_dashed_holo_dark.png
new file mode 100644
index 0000000..34e8fd2
--- /dev/null
+++ b/res-common/drawable-xhdpi/ic_divider_dashed_holo_dark.png
Binary files differ
diff --git a/res-common/layout/contact_tile_frequent.xml b/res-common/layout/contact_tile_frequent.xml
new file mode 100644
index 0000000..9219f56
--- /dev/null
+++ b/res-common/layout/contact_tile_frequent.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<view
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    class="com.android.contacts.list.ContactTileFrequentView"
+    android:focusable="true"
+    android:background="?android:attr/selectableItemBackground"
+    android:nextFocusRight="@+id/contact_tile_quick">
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" >
+
+        <com.android.contacts.widget.LayoutSuppressingQuickContactBadge
+            android:id="@+id/contact_tile_quick"
+            android:layout_width="64dip"
+            android:layout_height="64dip"
+            android:layout_alignParentRight="true"
+            android:scaleType="centerCrop"
+            android:focusable="true" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="64dip"
+            android:orientation="vertical"
+            android:layout_alignParentBottom="true"
+            android:gravity="center_vertical"
+            android:paddingRight="80dip"
+            android:paddingLeft="8dip">
+
+            <TextView
+                android:id="@+id/contact_tile_name"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textColor="@color/primary_text_color"
+                android:textSize="18sp"
+                android:singleLine="true"
+                android:fadingEdge="horizontal"
+                android:fadingEdgeLength="3dip"
+                android:ellipsize="marquee" />
+
+            <TextView
+                android:id="@+id/contact_tile_status"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textAppearance="?android:attr/textAppearanceSmall"
+                android:textColor="?android:attr/textColorSecondary"
+                android:singleLine="true"
+                android:drawablePadding="4dip"
+                android:fadingEdge="horizontal"
+                android:fadingEdgeLength="3dip"
+                android:ellipsize="marquee" />
+
+        </LinearLayout>
+
+        <View
+            android:id="@+id/contact_tile_horizontal_divider"
+            android:layout_width="match_parent"
+            android:layout_height="1px"
+            android:background="?android:attr/listDivider"
+            android:layout_below="@id/contact_tile_quick" />
+
+    </RelativeLayout>
+
+</view>
diff --git a/res-common/layout/contact_tile_frequent_phone.xml b/res-common/layout/contact_tile_frequent_phone.xml
new file mode 100644
index 0000000..cae5ec2
--- /dev/null
+++ b/res-common/layout/contact_tile_frequent_phone.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<!-- Layout parameters are set programmatically. -->
+<view
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/contact_tile_frequent_phone"
+    class="com.android.contacts.list.ContactTilePhoneFrequentView"
+    android:focusable="true"
+    android:background="?android:attr/selectableItemBackground"
+    android:nextFocusLeft="@+id/contact_tile_quick">
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" >
+
+        <com.android.contacts.widget.LayoutSuppressingQuickContactBadge
+            android:id="@id/contact_tile_quick"
+            android:layout_width="64dip"
+            android:layout_height="64dip"
+            android:layout_alignParentLeft="true"
+            android:nextFocusRight="@id/contact_tile_frequent_phone"
+            android:scaleType="centerCrop"
+            android:focusable="true" />
+
+        <TextView
+            android:id="@+id/contact_tile_name"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="8dip"
+            android:textAppearance="?android:attr/textAppearanceMedium"
+            android:layout_marginTop="8dip"
+            android:layout_toRightOf="@id/contact_tile_quick"
+            android:singleLine="true"
+            android:fadingEdge="horizontal"
+            android:fadingEdgeLength="3dip"
+            android:ellipsize="marquee" />
+
+        <LinearLayout
+            android:orientation="horizontal"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_below="@id/contact_tile_name"
+            android:layout_toRightOf="@id/contact_tile_quick"
+            android:gravity="center_vertical">
+
+            <TextView
+                android:id="@+id/contact_tile_phone_number"
+                android:layout_width="0dip"
+                android:layout_height="wrap_content"
+                android:layout_weight="?attr/list_item_data_width_weight"
+                android:textSize="14sp"
+                android:ellipsize="marquee"
+                android:textColor="@color/dialtacts_secondary_text_color"
+                android:layout_marginLeft="8dip"
+                android:singleLine="true"
+                android:layout_gravity="bottom" />
+
+            <TextView
+                android:id="@+id/contact_tile_phone_type"
+                android:layout_width="0dip"
+                android:layout_height="wrap_content"
+                android:layout_weight="?attr/list_item_label_width_weight"
+                android:textSize="12sp"
+                android:ellipsize="marquee"
+                android:singleLine="true"
+                android:textAllCaps="true"
+                android:textColor="@color/dialtacts_secondary_text_color"
+                android:layout_marginLeft="8dip"
+                android:gravity="right"
+                android:layout_gravity="bottom" />
+
+        </LinearLayout>
+
+        <View
+            android:id="@+id/contact_tile_horizontal_divider"
+            android:layout_width="match_parent"
+            android:layout_height="1px"
+            android:background="?android:attr/listDivider"
+            android:layout_below="@id/contact_tile_quick" />
+
+    </RelativeLayout>
+
+</view>
diff --git a/res-common/layout/contact_tile_phone_starred.xml b/res-common/layout/contact_tile_phone_starred.xml
new file mode 100644
index 0000000..053ffa6
--- /dev/null
+++ b/res-common/layout/contact_tile_phone_starred.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<view
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:background="@null"
+    android:paddingBottom="1dip"
+    android:paddingRight="1dip"
+    class="com.android.contacts.list.ContactTilePhoneStarredView" >
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" >
+
+        <com.android.contacts.widget.LayoutSuppressingImageView
+            android:id="@+id/contact_tile_image"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:scaleType="centerCrop" />
+
+        <TextView
+            android:id="@+id/contact_tile_name"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/contact_tile_shadowbox_height"
+            android:background="@color/contact_tile_shadow_box_color"
+            android:gravity="center_vertical"
+            android:textColor="@android:color/white"
+            android:singleLine="true"
+            android:textSize="16sp"
+            android:fadingEdge="horizontal"
+            android:fadingEdgeLength="3dip"
+            android:ellipsize="marquee"
+            android:layout_alignParentBottom="true"
+            android:paddingLeft="8dip"
+            android:paddingRight="47dip"
+            android:drawableRight="@drawable/ic_divider_dashed_holo_dark" />
+
+        <View
+            android:id="@+id/contact_tile_push_state"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:focusable="true"
+            android:nextFocusRight="@+id/contact_tile_secondary_button"
+            android:background="?android:attr/selectableItemBackground" />
+
+        <ImageButton
+            android:id="@id/contact_tile_secondary_button"
+            android:src="@drawable/ic_contacts_holo_dark"
+            android:background="?android:attr/selectableItemBackground"
+            android:layout_height="@dimen/contact_tile_shadowbox_height"
+            android:layout_width="48dip"
+            android:paddingRight="8dip"
+            android:paddingLeft="8dip"
+            android:layout_alignParentBottom="true"
+            android:layout_alignParentRight="true"
+            android:contentDescription="@string/description_view_contact_detail" />
+
+    </RelativeLayout>
+
+</view>
diff --git a/res-common/layout/contact_tile_starred.xml b/res-common/layout/contact_tile_starred.xml
new file mode 100644
index 0000000..cfc74d8
--- /dev/null
+++ b/res-common/layout/contact_tile_starred.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<view
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:background="@null"
+    android:paddingBottom="1dip"
+    android:paddingRight="1dip"
+    class="com.android.contacts.list.ContactTileStarredView" >
+
+    <RelativeLayout
+        android:id="@+id/contact_tile_layout"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" >
+
+        <com.android.contacts.widget.LayoutSuppressingImageView
+            android:id="@+id/contact_tile_image"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:scaleType="centerCrop" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/contact_tile_shadowbox_height"
+            android:orientation="vertical"
+            android:background="@color/contact_tile_shadow_box_color"
+            android:layout_alignParentBottom="true"
+            android:gravity="center_vertical"
+            android:paddingRight="8dip"
+            android:paddingLeft="8dip">
+
+            <TextView
+                android:id="@+id/contact_tile_name"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textColor="@android:color/white"
+                android:textSize="16sp"
+                android:singleLine="true"
+                android:fadingEdge="horizontal"
+                android:fadingEdgeLength="3dip"
+                android:ellipsize="marquee" />
+
+            <TextView
+                android:id="@+id/contact_tile_status"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textAppearance="?android:attr/textAppearanceSmall"
+                android:textColor="@color/people_contact_tile_status_color"
+                android:singleLine="true"
+                android:drawablePadding="4dip"
+                android:paddingBottom="4dip"
+                android:fadingEdge="horizontal"
+                android:fadingEdgeLength="3dip"
+                android:layout_marginTop="-3dip"
+                android:ellipsize="marquee" />
+
+        </LinearLayout>
+
+        <View
+            android:id="@+id/contact_tile_push_state"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:focusable="true"
+            android:background="?android:attr/selectableItemBackground" />
+
+    </RelativeLayout>
+
+</view>
diff --git a/res-common/layout/contact_tile_starred_quick_contact.xml b/res-common/layout/contact_tile_starred_quick_contact.xml
new file mode 100644
index 0000000..a396c41
--- /dev/null
+++ b/res-common/layout/contact_tile_starred_quick_contact.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<view
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:paddingBottom="1dip"
+    android:paddingRight="1dip"
+    android:background="@null"
+    class="com.android.contacts.list.ContactTileStarredView" >
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" >
+
+        <com.android.contacts.widget.LayoutSuppressingImageView
+            android:id="@+id/contact_tile_image"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:scaleType="centerCrop" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/contact_tile_shadowbox_height"
+            android:orientation="vertical"
+            android:background="@color/contact_tile_shadow_box_color"
+            android:layout_alignParentBottom="true"
+            android:gravity="center_vertical"
+            android:paddingRight="8dip"
+            android:paddingLeft="8dip">
+
+            <TextView
+                android:id="@+id/contact_tile_name"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textColor="@android:color/white"
+                android:textSize="16sp"
+                android:singleLine="true"
+                android:fadingEdge="horizontal"
+                android:fadingEdgeLength="3dip"
+                android:ellipsize="marquee" />
+
+            <TextView
+                android:id="@+id/contact_tile_status"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textAppearance="?android:attr/textAppearanceSmall"
+                android:textColor="@color/people_contact_tile_status_color"
+                android:singleLine="true"
+                android:drawablePadding="4dip"
+                android:fadingEdge="horizontal"
+                android:fadingEdgeLength="3dip"
+                android:layout_marginTop="-3dip"
+                android:ellipsize="marquee" />
+
+        </LinearLayout>
+
+        <QuickContactBadge
+            android:id="@+id/contact_tile_quick"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:focusable="true"
+            android:background="@null" />
+
+    </RelativeLayout>
+
+</view>
diff --git a/res-common/layout/list_separator.xml b/res-common/layout/list_separator.xml
new file mode 100644
index 0000000..d94e18c
--- /dev/null
+++ b/res-common/layout/list_separator.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2008 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:paddingLeft="16dip"
+    android:paddingRight="16dip"
+    android:focusable="false">
+    <TextView
+        android:id="@+id/title"
+        style="@style/ContactListSeparatorTextViewStyle"
+        android:paddingLeft="8dip"
+        android:paddingRight="8dip" />
+</FrameLayout>
diff --git a/res-common/values-sw580dp/dimens.xml b/res-common/values-sw580dp/dimens.xml
new file mode 100644
index 0000000..bdbc0d4
--- /dev/null
+++ b/res-common/values-sw580dp/dimens.xml
@@ -0,0 +1,19 @@
+<!--
+  ~ Copyright (C) 2012 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License
+  -->
+
+<resources>
+    <dimen name="detail_item_side_margin">0dip</dimen>
+</resources>
diff --git a/res-common/values/colors.xml b/res-common/values/colors.xml
index 13eadd3..48ef4ec 100644
--- a/res-common/values/colors.xml
+++ b/res-common/values/colors.xml
@@ -25,4 +25,12 @@
     <!-- Color of image view placeholder. -->
     <color name="image_placeholder">#DDDDDD</color>
 
+    <!-- Secondary text color in the Phone app -->
+    <color name="dialtacts_secondary_text_color">#888888</color>
+
+    <!--  Color of the semi-transparent shadow box on contact tiles -->
+    <color name="contact_tile_shadow_box_color">#7F000000</color>
+
+    <!--  Color of the status message for starred contacts in the People app -->
+    <color name="people_contact_tile_status_color">#CCCCCC</color>
 </resources>
diff --git a/res-common/values/dimens.xml b/res-common/values/dimens.xml
index c17234c..97e6fe7 100644
--- a/res-common/values/dimens.xml
+++ b/res-common/values/dimens.xml
@@ -24,4 +24,20 @@
          Right now the drawable has implicit 32dip minimal height, which is confusing.
          This value is for making the hidden configuration explicit in xml. -->
     <dimen name="list_section_divider_min_height">32dip</dimen>
+
+    <!--  Vertical and horizontal padding in between contact tiles -->
+    <dimen name="contact_tile_divider_padding">1dip</dimen>
+
+    <!-- Left and right padding for a contact detail item -->
+    <dimen name="detail_item_side_margin">16dip</dimen>
+
+    <!-- ContactTile Layouts -->
+    <!--
+      Use sp instead of dip so that the shadowbox heights can all scale uniformly
+      when the font size is scaled for accessibility purposes
+    -->
+    <dimen name="contact_tile_shadowbox_height">48sp</dimen>
+
+    <!-- Top padding of the ListView in the contact tile list -->
+    <dimen name="contact_tile_list_padding_top">0dip</dimen>
 </resources>
diff --git a/res-common/values/strings.xml b/res-common/values/strings.xml
index 87ea719..cc85566 100644
--- a/res-common/values/strings.xml
+++ b/res-common/values/strings.xml
@@ -177,4 +177,21 @@
 
     <!-- Shown as the display name for a person when the name is missing or unknown. [CHAR LIMIT=18]-->
     <string name="missing_name">(No name)</string>
+
+    <!-- The text displayed on the divider for the Favorites tab in Phone app indicating that items below it are frequently called as opposed to starred contacts [CHAR LIMIT = 39] -->
+    <string name="favoritesFrequentCalled">Frequently called</string>
+
+    <!-- The text displayed on the divider for the Favorites tab in People app indicating that items below it are frequently contacted [CHAR LIMIT = 39] -->
+    <string name="favoritesFrequentContacted">Frequently contacted</string>
+
+    <!-- String describing a contact picture that introduces users to the contact detail screen.
+
+       Used by AccessibilityService to announce the purpose of the button.
+
+       [CHAR LIMIT=NONE]
+    -->
+    <string name="description_view_contact_detail" msgid="2795575601596468581">View contact</string>
+
+    <!-- Contact list filter selection indicating that the list shows all contacts with phone numbers [CHAR LIMIT=64] -->
+    <string name="list_filter_phones">All contacts with phone numbers</string>
 </resources>
diff --git a/res-common/values/styles.xml b/res-common/values/styles.xml
index 45137e7..7522f99 100644
--- a/res-common/values/styles.xml
+++ b/res-common/values/styles.xml
@@ -19,4 +19,25 @@
     <style name="DirectoryHeader">
         <item name="android:background">@android:color/transparent</item>
     </style>
+
+    <!-- TextView style with blue underline. It is most suitable for headers.
+
+This is similar to ?android:attr/listSeparatorTextView but uses different
+background and text color. See also android:style/Widget.Holo.TextView.ListSeparator
+(which is private, so we cannot specify it as a parent style).  -->
+    <style name="ContactListSeparatorTextViewStyle">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">wrap_content</item>
+        <!-- See comments for @dimen/list_section_divider_min_height -->
+        <item name="android:minHeight">@dimen/list_section_divider_min_height</item>
+        <item name="android:background">@drawable/list_section_divider_holo_custom</item>
+        <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
+        <item name="android:textStyle">bold</item>
+        <item name="android:textColor">@color/people_app_theme_color</item>
+        <item name="android:gravity">center_vertical</item>
+        <item name="android:paddingLeft">8dip</item>
+        <item name="android:ellipsize">end</item>
+        <item name="android:singleLine">true</item>
+        <item name="android:textAllCaps">true</item>
+    </style>
 </resources>