Major resource move and clean-up.

Moving resources from Contacts to ContactsCommon and Dialer as necessary to
remove dialer dependencies on contacts app.

Bug: 6993891
Change-Id: I5ff17028cb675694809cdc08e5ee80c444ee8666
diff --git a/res-common/color/secondary_text_color.xml b/res-common/color/secondary_text_color.xml
new file mode 100644
index 0000000..1c62458
--- /dev/null
+++ b/res-common/color/secondary_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="#777777" /> <!-- not selected -->
+
+</selector>
diff --git a/res-common/drawable-hdpi/ic_add_contact_holo_dark.png b/res-common/drawable-hdpi/ic_add_contact_holo_dark.png
new file mode 100644
index 0000000..88ff33b
--- /dev/null
+++ b/res-common/drawable-hdpi/ic_add_contact_holo_dark.png
Binary files differ
diff --git a/res-common/drawable-hdpi/ic_text_holo_dark.png b/res-common/drawable-hdpi/ic_text_holo_dark.png
new file mode 100644
index 0000000..6d21e42
--- /dev/null
+++ b/res-common/drawable-hdpi/ic_text_holo_dark.png
Binary files differ
diff --git a/res-common/drawable-hdpi/list_activated_holo.9.png b/res-common/drawable-hdpi/list_activated_holo.9.png
new file mode 100644
index 0000000..4ea7afa
--- /dev/null
+++ b/res-common/drawable-hdpi/list_activated_holo.9.png
Binary files differ
diff --git a/res-common/drawable-hdpi/list_background_holo.9.png b/res-common/drawable-hdpi/list_background_holo.9.png
new file mode 100644
index 0000000..cddf9be
--- /dev/null
+++ b/res-common/drawable-hdpi/list_background_holo.9.png
Binary files differ
diff --git a/res-common/drawable-hdpi/list_focused_holo.9.png b/res-common/drawable-hdpi/list_focused_holo.9.png
new file mode 100644
index 0000000..86578be
--- /dev/null
+++ b/res-common/drawable-hdpi/list_focused_holo.9.png
Binary files differ
diff --git a/res-common/drawable-hdpi/list_title_holo.9.png b/res-common/drawable-hdpi/list_title_holo.9.png
new file mode 100644
index 0000000..ae93717
--- /dev/null
+++ b/res-common/drawable-hdpi/list_title_holo.9.png
Binary files differ
diff --git a/res-common/drawable-mdpi/ic_add_contact_holo_dark.png b/res-common/drawable-mdpi/ic_add_contact_holo_dark.png
new file mode 100644
index 0000000..867f494
--- /dev/null
+++ b/res-common/drawable-mdpi/ic_add_contact_holo_dark.png
Binary files differ
diff --git a/res-common/drawable-mdpi/ic_text_holo_dark.png b/res-common/drawable-mdpi/ic_text_holo_dark.png
new file mode 100644
index 0000000..80b95ee
--- /dev/null
+++ b/res-common/drawable-mdpi/ic_text_holo_dark.png
Binary files differ
diff --git a/res-common/drawable-mdpi/list_activated_holo.9.png b/res-common/drawable-mdpi/list_activated_holo.9.png
new file mode 100644
index 0000000..3bf8e03
--- /dev/null
+++ b/res-common/drawable-mdpi/list_activated_holo.9.png
Binary files differ
diff --git a/res-common/drawable-mdpi/list_background_holo.9.png b/res-common/drawable-mdpi/list_background_holo.9.png
new file mode 100644
index 0000000..7d5d66d
--- /dev/null
+++ b/res-common/drawable-mdpi/list_background_holo.9.png
Binary files differ
diff --git a/res-common/drawable-mdpi/list_focused_holo.9.png b/res-common/drawable-mdpi/list_focused_holo.9.png
new file mode 100644
index 0000000..86578be
--- /dev/null
+++ b/res-common/drawable-mdpi/list_focused_holo.9.png
Binary files differ
diff --git a/res-common/drawable-mdpi/list_title_holo.9.png b/res-common/drawable-mdpi/list_title_holo.9.png
new file mode 100644
index 0000000..64bd691
--- /dev/null
+++ b/res-common/drawable-mdpi/list_title_holo.9.png
Binary files differ
diff --git a/res-common/drawable-sw580dp-hdpi/list_activated_holo.9.png b/res-common/drawable-sw580dp-hdpi/list_activated_holo.9.png
new file mode 100644
index 0000000..046b24a
--- /dev/null
+++ b/res-common/drawable-sw580dp-hdpi/list_activated_holo.9.png
Binary files differ
diff --git a/res-common/drawable-sw580dp-mdpi/list_activated_holo.9.png b/res-common/drawable-sw580dp-mdpi/list_activated_holo.9.png
new file mode 100644
index 0000000..1ff3373
--- /dev/null
+++ b/res-common/drawable-sw580dp-mdpi/list_activated_holo.9.png
Binary files differ
diff --git a/res-common/drawable-sw580dp-xhdpi/list_activated_holo.9.png b/res-common/drawable-sw580dp-xhdpi/list_activated_holo.9.png
new file mode 100644
index 0000000..2eb7c7e
--- /dev/null
+++ b/res-common/drawable-sw580dp-xhdpi/list_activated_holo.9.png
Binary files differ
diff --git a/res-common/drawable-xhdpi/ic_add_contact_holo_dark.png b/res-common/drawable-xhdpi/ic_add_contact_holo_dark.png
new file mode 100644
index 0000000..7298882
--- /dev/null
+++ b/res-common/drawable-xhdpi/ic_add_contact_holo_dark.png
Binary files differ
diff --git a/res-common/drawable-xhdpi/ic_text_holo_dark.png b/res-common/drawable-xhdpi/ic_text_holo_dark.png
new file mode 100644
index 0000000..e80a042
--- /dev/null
+++ b/res-common/drawable-xhdpi/ic_text_holo_dark.png
Binary files differ
diff --git a/res-common/drawable-xhdpi/list_activated_holo.9.png b/res-common/drawable-xhdpi/list_activated_holo.9.png
new file mode 100644
index 0000000..eda10e6
--- /dev/null
+++ b/res-common/drawable-xhdpi/list_activated_holo.9.png
Binary files differ
diff --git a/res-common/drawable-xhdpi/list_background_holo.9.png b/res-common/drawable-xhdpi/list_background_holo.9.png
new file mode 100644
index 0000000..b652725
--- /dev/null
+++ b/res-common/drawable-xhdpi/list_background_holo.9.png
Binary files differ
diff --git a/res-common/drawable-xhdpi/list_focused_holo.9.png b/res-common/drawable-xhdpi/list_focused_holo.9.png
new file mode 100644
index 0000000..86578be
--- /dev/null
+++ b/res-common/drawable-xhdpi/list_focused_holo.9.png
Binary files differ
diff --git a/res-common/drawable-xhdpi/list_title_holo.9.png b/res-common/drawable-xhdpi/list_title_holo.9.png
new file mode 100644
index 0000000..f4f00ca
--- /dev/null
+++ b/res-common/drawable-xhdpi/list_title_holo.9.png
Binary files differ
diff --git a/res-common/drawable/ic_tab_all.xml b/res-common/drawable/ic_tab_all.xml
new file mode 100644
index 0000000..97c4443
--- /dev/null
+++ b/res-common/drawable/ic_tab_all.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:drawable="@drawable/ic_contacts_holo_dark" />
+</selector>
+
diff --git a/res-common/drawable/list_item_activated_background.xml b/res-common/drawable/list_item_activated_background.xml
new file mode 100644
index 0000000..a58577e
--- /dev/null
+++ b/res-common/drawable/list_item_activated_background.xml
@@ -0,0 +1,20 @@
+<?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.
+-->
+
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:state_activated="true" android:drawable="@drawable/list_activated_holo" />
+    <item android:drawable="@drawable/list_background_holo" />
+</selector>
diff --git a/res-common/layout/contact_tile_frequent.xml b/res-common/layout/contact_tile_frequent.xml
index 9219f56..494fd3d 100644
--- a/res-common/layout/contact_tile_frequent.xml
+++ b/res-common/layout/contact_tile_frequent.xml
@@ -15,7 +15,7 @@
 -->
 <view
     xmlns:android="http://schemas.android.com/apk/res/android"
-    class="com.android.contacts.list.ContactTileFrequentView"
+    class="com.android.contacts.common.list.ContactTileFrequentView"
     android:focusable="true"
     android:background="?android:attr/selectableItemBackground"
     android:nextFocusRight="@+id/contact_tile_quick">
@@ -24,7 +24,7 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent" >
 
-        <com.android.contacts.widget.LayoutSuppressingQuickContactBadge
+        <com.android.contacts.common.widget.LayoutSuppressingQuickContactBadge
             android:id="@+id/contact_tile_quick"
             android:layout_width="64dip"
             android:layout_height="64dip"
diff --git a/res-common/layout/contact_tile_frequent_phone.xml b/res-common/layout/contact_tile_frequent_phone.xml
index cae5ec2..3a84b5a 100644
--- a/res-common/layout/contact_tile_frequent_phone.xml
+++ b/res-common/layout/contact_tile_frequent_phone.xml
@@ -18,7 +18,7 @@
 <view
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/contact_tile_frequent_phone"
-    class="com.android.contacts.list.ContactTilePhoneFrequentView"
+    class="com.android.contacts.common.list.ContactTilePhoneFrequentView"
     android:focusable="true"
     android:background="?android:attr/selectableItemBackground"
     android:nextFocusLeft="@+id/contact_tile_quick">
@@ -27,7 +27,7 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent" >
 
-        <com.android.contacts.widget.LayoutSuppressingQuickContactBadge
+        <com.android.contacts.common.widget.LayoutSuppressingQuickContactBadge
             android:id="@id/contact_tile_quick"
             android:layout_width="64dip"
             android:layout_height="64dip"
diff --git a/res-common/layout/contact_tile_phone_starred.xml b/res-common/layout/contact_tile_phone_starred.xml
index 053ffa6..9959c82 100644
--- a/res-common/layout/contact_tile_phone_starred.xml
+++ b/res-common/layout/contact_tile_phone_starred.xml
@@ -18,13 +18,13 @@
     android:background="@null"
     android:paddingBottom="1dip"
     android:paddingRight="1dip"
-    class="com.android.contacts.list.ContactTilePhoneStarredView" >
+    class="com.android.contacts.common.list.ContactTilePhoneStarredView" >
 
     <RelativeLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent" >
 
-        <com.android.contacts.widget.LayoutSuppressingImageView
+        <com.android.contacts.common.widget.LayoutSuppressingImageView
             android:id="@+id/contact_tile_image"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
diff --git a/res-common/layout/contact_tile_starred.xml b/res-common/layout/contact_tile_starred.xml
index cfc74d8..06852a6 100644
--- a/res-common/layout/contact_tile_starred.xml
+++ b/res-common/layout/contact_tile_starred.xml
@@ -18,14 +18,14 @@
     android:background="@null"
     android:paddingBottom="1dip"
     android:paddingRight="1dip"
-    class="com.android.contacts.list.ContactTileStarredView" >
+    class="com.android.contacts.common.list.ContactTileStarredView" >
 
     <RelativeLayout
         android:id="@+id/contact_tile_layout"
         android:layout_width="match_parent"
         android:layout_height="match_parent" >
 
-        <com.android.contacts.widget.LayoutSuppressingImageView
+        <com.android.contacts.common.widget.LayoutSuppressingImageView
             android:id="@+id/contact_tile_image"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
diff --git a/res-common/layout/contact_tile_starred_quick_contact.xml b/res-common/layout/contact_tile_starred_quick_contact.xml
index a396c41..87a6e65 100644
--- a/res-common/layout/contact_tile_starred_quick_contact.xml
+++ b/res-common/layout/contact_tile_starred_quick_contact.xml
@@ -18,13 +18,13 @@
     android:paddingBottom="1dip"
     android:paddingRight="1dip"
     android:background="@null"
-    class="com.android.contacts.list.ContactTileStarredView" >
+    class="com.android.contacts.common.list.ContactTileStarredView" >
 
     <RelativeLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent" >
 
-        <com.android.contacts.widget.LayoutSuppressingImageView
+        <com.android.contacts.common.widget.LayoutSuppressingImageView
             android:id="@+id/contact_tile_image"
             android:layout_width="match_parent"
             android:layout_height="match_parent"
diff --git a/res-common/values-land/integers.xml b/res-common/values-land/integers.xml
new file mode 100644
index 0000000..44d1d5a
--- /dev/null
+++ b/res-common/values-land/integers.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2012 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<resources>
+    <integer name="contact_tile_column_count_in_favorites">4</integer>
+</resources>
diff --git a/res-common/values-sw580dp-land/integers.xml b/res-common/values-sw580dp-land/integers.xml
new file mode 100644
index 0000000..03f5ed7
--- /dev/null
+++ b/res-common/values-sw580dp-land/integers.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2012 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<resources>
+    <integer name="contact_tile_column_count_in_favorites">3</integer>
+</resources>
diff --git a/res-common/values-sw580dp/dimens.xml b/res-common/values-sw580dp/dimens.xml
index 277c029..0a149e7 100644
--- a/res-common/values-sw580dp/dimens.xml
+++ b/res-common/values-sw580dp/dimens.xml
@@ -24,4 +24,5 @@
 
     <dimen name="contact_browser_list_header_left_margin">@dimen/list_visible_scrollbar_padding</dimen>
     <dimen name="contact_browser_list_header_right_margin">24dip</dimen>
+    <dimen name="contact_browser_list_top_margin">16dip</dimen>
 </resources>
diff --git a/res-common/values-sw580dp/integers.xml b/res-common/values-sw580dp/integers.xml
new file mode 100644
index 0000000..03f5ed7
--- /dev/null
+++ b/res-common/values-sw580dp/integers.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2012 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<resources>
+    <integer name="contact_tile_column_count_in_favorites">3</integer>
+</resources>
diff --git a/res-common/values-sw680dp-land/integers.xml b/res-common/values-sw680dp-land/integers.xml
new file mode 100644
index 0000000..44d1d5a
--- /dev/null
+++ b/res-common/values-sw680dp-land/integers.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2012 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<resources>
+    <integer name="contact_tile_column_count_in_favorites">4</integer>
+</resources>
diff --git a/res-common/values-sw680dp/integers.xml b/res-common/values-sw680dp/integers.xml
new file mode 100644
index 0000000..3e47757
--- /dev/null
+++ b/res-common/values-sw680dp/integers.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2012 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+<resources>
+    <integer name="contact_tile_column_count_in_favorites">2</integer>
+</resources>
diff --git a/res-common/values/attrs.xml b/res-common/values/attrs.xml
index 745ceb1..9e8c08d 100644
--- a/res-common/values/attrs.xml
+++ b/res-common/values/attrs.xml
@@ -51,4 +51,13 @@
         <attr name="contact_browser_list_padding_right" format="dimension"/>
         <attr name="contact_browser_background" format="reference"/>
     </declare-styleable>
+
+    <declare-styleable name="ProportionalLayout">
+        <attr name="direction" format="string"/>
+        <attr name="ratio" format="float"/>
+    </declare-styleable>
+
+    <declare-styleable name="Favorites">
+        <attr name="favorites_padding_bottom" format="dimension"/>
+    </declare-styleable>
 </resources>
diff --git a/res-common/values/dimens.xml b/res-common/values/dimens.xml
index 5fd3390..2c49c2e 100644
--- a/res-common/values/dimens.xml
+++ b/res-common/values/dimens.xml
@@ -86,4 +86,11 @@
 
     <!-- Width of height of an icon from a third-party app in the networks section of the contact card. -->
     <dimen name="detail_network_icon_size">32dip</dimen>
+
+    <!-- Empty message margins -->
+    <dimen name="empty_message_top_margin">48dip</dimen>
+
+    <!-- contact browser list margins -->
+    <dimen name="contact_browser_list_item_photo_size">64dip</dimen>
+    <dimen name="contact_browser_list_top_margin">8dip</dimen>
 </resources>
diff --git a/res-common/values/integers.xml b/res-common/values/integers.xml
new file mode 100644
index 0000000..73e9aee
--- /dev/null
+++ b/res-common/values/integers.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2012 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<resources>
+
+    <!--  Determines the number of columns in a ContactTileRow in the favorites tab -->
+    <integer name="contact_tile_column_count_in_favorites">2</integer>
+</resources>
diff --git a/res-common/values/strings.xml b/res-common/values/strings.xml
index befa813..cc2aad6 100644
--- a/res-common/values/strings.xml
+++ b/res-common/values/strings.xml
@@ -661,4 +661,48 @@
     <!-- Toast indicating that sharing a contact has failed. [CHAR LIMIT=NONE]  -->
     <string name="share_error">This contact can\'t be shared.</string>
 
+    <!-- Menu item to search contacts -->
+    <string name="menu_search">Search</string>
+
+    <!-- The menu item to filter the list of contacts displayed -->
+    <string name="menu_contacts_filter">Contacts to display</string>
+
+    <!-- Title of the activity that allows the uesr to filter the list of contacts displayed according to account [CHAR LIMIT=25] -->
+    <string name="activity_title_contacts_filter">Contacts to display</string>
+
+    <!-- Title of the activity that allows the user to customize filtering of contact list [CHAR LIMIT=128] -->
+    <string name="custom_list_filter">Define custom view</string>
+
+    <!-- Query hint displayed inside the search field [CHAR LIMIT=64] -->
+    <string name="hint_findContacts">Find contacts</string>
+
+    <!-- The description text for the favorites tab.
+
+         Note: AccessibilityServices use this attribute to announce what the view represents.
+         This is especially valuable for views without textual representation like ImageView.
+
+         [CHAR LIMIT=NONE] -->
+    <string name="contactsFavoritesLabel">Favorites</string>
+
+    <!-- Displayed at the top of the contacts showing the zero total number of contacts visible when "All contacts" is selected  [CHAR LIMIT=64]-->
+    <string name="listTotalAllContactsZero">No contacts.</string>
+
+    <!-- Displayed at the top of the contacts showing the zero total number of contacts visible when "Custom" is selected  [CHAR LIMIT=64]-->
+    <string name="listTotalAllContactsZeroCustom">No visible contacts.</string>
+
+    <!-- Displayed at the top of the contacts showing the zero total number of contacts visible when starred contact list is selected  [CHAR LIMIT=64]-->
+    <string name="listTotalAllContactsZeroStarred">No favorites.</string>
+
+    <!-- Displayed at the top of the contacts showing the zero total number of contacts visible when a group or account is selected  [CHAR LIMIT=64]-->
+    <string name="listTotalAllContactsZeroGroup">No contacts in <xliff:g id="name" example="Friends">%s</xliff:g></string>
+
+    <!--  The menu item to clear frequents [CHAR LIMIT=30] -->
+    <string name="menu_clear_frequents">Clear frequents</string>
+
+    <!-- The menu item to open the list of accounts -->
+    <string name="menu_accounts">Accounts</string>
+
+    <!-- The menu item to bulk import or bulk export contacts from SIM card or SD card.  [CHAR LIMIT=30]-->
+    <string name="menu_import_export">Import/export</string>
+
 </resources>
diff --git a/res-common/values/styles.xml b/res-common/values/styles.xml
index 7a43243..77831b2 100644
--- a/res-common/values/styles.xml
+++ b/res-common/values/styles.xml
@@ -54,4 +54,13 @@
         <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">match_parent</item>
     </style>
+
+    <style name="BackgroundOnlyTheme" parent="@android:style/Theme.Holo.Light">
+        <item name="android:windowBackground">@null</item>
+        <item name="android:windowContentOverlay">@null</item>
+        <item name="android:windowAnimationStyle">@null</item>
+        <item name="android:windowNoTitle">true</item>
+        <item name="android:windowNoDisplay">true</item>
+        <item name="android:windowIsFloating">true</item>
+    </style>
 </resources>
diff --git a/src/com/android/contacts/common/widget/LayoutSuppressingImageView.java b/src/com/android/contacts/common/widget/LayoutSuppressingImageView.java
new file mode 100644
index 0000000..abcf786
--- /dev/null
+++ b/src/com/android/contacts/common/widget/LayoutSuppressingImageView.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.contacts.common.widget;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.ImageView;
+
+/**
+ * Custom {@link ImageView} that improves layouting performance.
+ *
+ * This improves the performance by not passing requestLayout() to its parent, taking advantage
+ * of knowing that image size won't change once set.
+ */
+public class LayoutSuppressingImageView extends ImageView {
+
+    public LayoutSuppressingImageView(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    @Override
+    public void requestLayout() {
+        forceLayout();
+    }
+}
diff --git a/src/com/android/contacts/common/widget/LayoutSuppressingQuickContactBadge.java b/src/com/android/contacts/common/widget/LayoutSuppressingQuickContactBadge.java
new file mode 100644
index 0000000..1f48f5d
--- /dev/null
+++ b/src/com/android/contacts/common/widget/LayoutSuppressingQuickContactBadge.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2012 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.contacts.common.widget;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.widget.QuickContactBadge;
+
+/**
+ * Custom {@link QuickContactBadge} that improves layouting performance.
+ *
+ * This improves the performance by not passing requestLayout() to its parent, taking advantage
+ * of knowing that image size won't change once set.
+ */
+public class LayoutSuppressingQuickContactBadge extends QuickContactBadge {
+
+    public LayoutSuppressingQuickContactBadge(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    @Override
+    public void requestLayout() {
+        forceLayout();
+    }
+}