diff --git a/res/color/list_primary_text_color.xml b/res/color/list_primary_text_color.xml
new file mode 100644
index 0000000..7c185fc
--- /dev/null
+++ b/res/color/list_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="@color/primary_text_color_activated"/>
+    <item android:color="@color/primary_text_color" /> <!-- not selected -->
+
+</selector>
diff --git a/res/color/list_secondary_text_color.xml b/res/color/list_secondary_text_color.xml
new file mode 100644
index 0000000..edf8678
--- /dev/null
+++ b/res/color/list_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="@color/secondary_text_color_activated" />
+    <item android:color="@color/secondary_text_color" /> <!-- not selected -->
+
+</selector>
diff --git a/res/drawable-hdpi/action_bar_item_pressed_holo_light.9.png b/res/drawable-hdpi/action_bar_item_pressed_holo_light.9.png
new file mode 100644
index 0000000..cf5ff8e
--- /dev/null
+++ b/res/drawable-hdpi/action_bar_item_pressed_holo_light.9.png
Binary files differ
diff --git a/res/drawable-hdpi/list_activated_holo.9.png b/res/drawable-hdpi/list_activated_holo.9.png
index 046b24a..4ea7afa 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_focused_holo.9.png b/res/drawable-hdpi/list_focused_holo.9.png
index e962ce8..516f5c7 100644
--- a/res/drawable-hdpi/list_focused_holo.9.png
+++ b/res/drawable-hdpi/list_focused_holo.9.png
Binary files differ
diff --git a/res/drawable-hdpi/list_pressed_holo_light.9.png b/res/drawable-hdpi/list_pressed_holo_light.9.png
index cf5ff8e..5654cd6 100644
--- a/res/drawable-hdpi/list_pressed_holo_light.9.png
+++ b/res/drawable-hdpi/list_pressed_holo_light.9.png
Binary files differ
diff --git a/res/drawable-mdpi/action_bar_item_pressed_holo_light.9.png b/res/drawable-mdpi/action_bar_item_pressed_holo_light.9.png
new file mode 100644
index 0000000..3a9686d
--- /dev/null
+++ b/res/drawable-mdpi/action_bar_item_pressed_holo_light.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 1ff3373..3bf8e03 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_focused_holo.9.png b/res/drawable-mdpi/list_focused_holo.9.png
index 6e041f3..7c0599e 100644
--- a/res/drawable-mdpi/list_focused_holo.9.png
+++ b/res/drawable-mdpi/list_focused_holo.9.png
Binary files differ
diff --git a/res/drawable-mdpi/list_pressed_holo_light.9.png b/res/drawable-mdpi/list_pressed_holo_light.9.png
index 3a9686d..6e77525 100644
--- a/res/drawable-mdpi/list_pressed_holo_light.9.png
+++ b/res/drawable-mdpi/list_pressed_holo_light.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/action_bar_item_pressed_holo_light.9.png b/res/drawable-xhdpi/action_bar_item_pressed_holo_light.9.png
new file mode 100644
index 0000000..8ff9dca
--- /dev/null
+++ b/res/drawable-xhdpi/action_bar_item_pressed_holo_light.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 2eb7c7e..eda10e6 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_focused_holo.9.png b/res/drawable-xhdpi/list_focused_holo.9.png
index 9c90c2b..690cb1e 100644
--- a/res/drawable-xhdpi/list_focused_holo.9.png
+++ b/res/drawable-xhdpi/list_focused_holo.9.png
Binary files differ
diff --git a/res/drawable-xhdpi/list_pressed_holo_light.9.png b/res/drawable-xhdpi/list_pressed_holo_light.9.png
index 8ff9dca..e4b3393 100644
--- a/res/drawable-xhdpi/list_pressed_holo_light.9.png
+++ b/res/drawable-xhdpi/list_pressed_holo_light.9.png
Binary files differ
diff --git a/res/drawable/action_bar_item_background.xml b/res/drawable/action_bar_item_background.xml
index 1fd4614..8dd8d9b 100644
--- a/res/drawable/action_bar_item_background.xml
+++ b/res/drawable/action_bar_item_background.xml
@@ -16,6 +16,6 @@
 
 <selector xmlns:android="http://schemas.android.com/apk/res/android"
           android:exitFadeDuration="@android:integer/config_mediumAnimTime">
-    <item android:state_pressed="true" android:drawable="@drawable/list_pressed_holo_light"/>
+    <item android:state_pressed="true" android:drawable="@drawable/action_bar_item_pressed_holo_light"/>
     <item android:drawable="@android:color/transparent" />
-</selector>
\ No newline at end of file
+</selector>
diff --git a/res/drawable/group_list_item_background.xml b/res/drawable/group_list_item_background.xml
index 0e2e604..345117f 100644
--- a/res/drawable/group_list_item_background.xml
+++ b/res/drawable/group_list_item_background.xml
@@ -17,6 +17,6 @@
 <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:state_pressed="true" android:drawable="@drawable/list_pressed_holo" />
+    <item android:state_pressed="true" android:drawable="@drawable/list_pressed_holo_light" />
     <item android:state_focused="true" android:drawable="@drawable/list_focused_holo" />
-</selector>
\ No newline at end of file
+</selector>
diff --git a/res/drawable/list_item_activated_background.xml b/res/drawable/list_item_activated_background.xml
index 6ea21d3..a58577e 100644
--- a/res/drawable/list_item_activated_background.xml
+++ b/res/drawable/list_item_activated_background.xml
@@ -14,8 +14,7 @@
      limitations under the License.
 -->
 
-<selector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:exitFadeDuration="@android:integer/config_mediumAnimTime">
+<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>
\ No newline at end of file
+</selector>
diff --git a/res/layout/call_log_voicemail_status.xml b/res/layout/call_log_voicemail_status.xml
index c7def4d..7b59f6c 100644
--- a/res/layout/call_log_voicemail_status.xml
+++ b/res/layout/call_log_voicemail_status.xml
@@ -17,35 +17,34 @@
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="?attr/call_log_voicemail_status_height"
-        android:background="?attr/call_log_voicemail_status_background_color">
+        android:background="?attr/call_log_voicemail_status_background_color"
+    >
         <TextView
             android:id="@+id/voicemail_status_message"
             android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:paddingLeft="14dip"
-            android:paddingRight="14dip"
-            android:textColor="?attr/call_log_voicemail_status_text_color"
-            android:layout_gravity="left"
-            android:layout_weight="5"
-        />
-        <View android:id="@+id/divider"
-            android:layout_width="1px"
             android:layout_height="wrap_content"
-            android:layout_marginTop="5dip"
-            android:layout_marginBottom="5dip"
-            android:layout_marginLeft="11dip"
-            android:background="@drawable/divider_vertical_dark"
+            android:layout_gravity="center_vertical"
+            android:layout_weight="1"
+            android:paddingLeft="@dimen/call_log_outer_margin"
+            android:paddingRight="@dimen/call_log_inner_margin"
+            android:textColor="?attr/call_log_voicemail_status_text_color"
+        />
+        <View
+            android:id="@+id/voicemail_status_divider"
+            android:layout_width="1px"
+            android:layout_height="@dimen/call_log_call_action_size"
+            android:layout_gravity="center_vertical"
+            android:background="@drawable/ic_divider_dashed_holo_dark"
         />
         <TextView
             android:id="@+id/voicemail_status_action"
             android:layout_width="wrap_content"
             android:layout_height="match_parent"
-            android:layout_gravity="right"
-            android:paddingLeft="14dip"
-            android:paddingRight="14dip"
+            android:gravity="center_vertical"
+            android:paddingLeft="@dimen/call_log_inner_margin"
+            android:paddingRight="@dimen/call_log_outer_margin"
             android:textColor="?attr/call_log_voicemail_status_text_color"
-            android:gravity="right"
-            android:layout_alignParentRight="true"
+            android:background="@drawable/list_selector"
             android:clickable="true"
         />
     </LinearLayout>
diff --git a/res/layout/group_browse_list_item.xml b/res/layout/group_browse_list_item.xml
index cc388f7..b213754 100644
--- a/res/layout/group_browse_list_item.xml
+++ b/res/layout/group_browse_list_item.xml
@@ -71,6 +71,7 @@
                 android:layout_height="wrap_content"
                 android:layout_width="wrap_content"
                 android:textAppearance="?android:attr/textAppearanceMedium"
+                android:textColor="@color/list_primary_text_color"
                 android:ellipsize="end"
                 android:singleLine="true" />
 
@@ -79,7 +80,7 @@
                 android:layout_height="wrap_content"
                 android:layout_width="wrap_content"
                 android:textAppearance="?android:attr/textAppearanceSmall"
-                android:textColor="?android:attr/textColorTertiary"
+                android:textColor="@color/list_secondary_text_color"
                 android:ellipsize="end"
                 android:singleLine="true" />
 
diff --git a/res/menu-sw580dp-w720dp/actions.xml b/res/menu-sw580dp-w720dp/actions.xml
index 3aca102..2d21676 100644
--- a/res/menu-sw580dp-w720dp/actions.xml
+++ b/res/menu-sw580dp-w720dp/actions.xml
@@ -39,21 +39,20 @@
         android:title="@string/menu_contacts_filter" />
 
     <item
-        android:id="@+id/menu_settings"
-        android:icon="@drawable/ic_menu_settings_holo_light"
-        android:orderInCategory="2"
-        android:title="@string/menu_settings" />
-
-    <item
         android:id="@+id/menu_import_export"
         android:icon="@drawable/ic_menu_import_export_holo_light"
-        android:orderInCategory="3"
+        android:orderInCategory="2"
         android:title="@string/menu_import_export" />
 
     <item
         android:id="@+id/menu_accounts"
         android:icon="@drawable/ic_menu_accounts_holo_light"
-        android:orderInCategory="4"
+        android:orderInCategory="3"
         android:title="@string/menu_accounts" />
 
+    <item
+        android:id="@+id/menu_settings"
+        android:icon="@drawable/ic_menu_settings_holo_light"
+        android:orderInCategory="4"
+        android:title="@string/menu_settings" />
 </menu>
diff --git a/res/menu-sw580dp/actions.xml b/res/menu-sw580dp/actions.xml
index c2fd3e6..08fea42 100644
--- a/res/menu-sw580dp/actions.xml
+++ b/res/menu-sw580dp/actions.xml
@@ -42,21 +42,20 @@
         android:title="@string/menu_contacts_filter" />
 
     <item
-        android:id="@+id/menu_settings"
-        android:icon="@drawable/ic_menu_settings_holo_light"
-        android:orderInCategory="2"
-        android:title="@string/menu_settings" />
-
-    <item
         android:id="@+id/menu_import_export"
         android:icon="@drawable/ic_menu_import_export_holo_light"
-        android:orderInCategory="3"
+        android:orderInCategory="2"
         android:title="@string/menu_import_export" />
 
     <item
         android:id="@+id/menu_accounts"
         android:icon="@drawable/ic_menu_accounts_holo_light"
-        android:orderInCategory="4"
+        android:orderInCategory="3"
         android:title="@string/menu_accounts" />
 
+    <item
+        android:id="@+id/menu_settings"
+        android:icon="@drawable/ic_menu_settings_holo_light"
+        android:orderInCategory="4"
+        android:title="@string/menu_settings" />
 </menu>
diff --git a/res/menu/actions.xml b/res/menu/actions.xml
index 2af9e92..852bfa9 100644
--- a/res/menu/actions.xml
+++ b/res/menu/actions.xml
@@ -38,11 +38,6 @@
         android:title="@string/menu_contacts_filter" />
 
     <item
-        android:id="@+id/menu_settings"
-        android:icon="@drawable/ic_menu_settings_holo_light"
-        android:title="@string/menu_settings" />
-
-    <item
         android:id="@+id/menu_import_export"
         android:icon="@drawable/ic_menu_import_export_holo_light"
         android:title="@string/menu_import_export" />
@@ -52,4 +47,8 @@
         android:icon="@drawable/ic_menu_accounts_holo_light"
         android:title="@string/menu_accounts" />
 
+    <item
+        android:id="@+id/menu_settings"
+        android:icon="@drawable/ic_menu_settings_holo_light"
+        android:title="@string/menu_settings" />
 </menu>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 0b8f1b7..5e8bd70 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -83,10 +83,16 @@
     <!-- Primary text color in the People app -->
     <color name="primary_text_color">#333333</color>
 
+    <!-- Activated primary text color in the People app -->
+    <color name="primary_text_color_activated">#FFFFFF</color>
+
     <!-- Secondary text color in the People app -->
     <color name="secondary_text_color">#777777</color>
     <color name="dialtacts_secondary_text_color">#888888</color>
 
+    <!-- Activated secondary text color in the People app -->
+    <color name="secondary_text_color_activated">#FFFFFF</color>
+
     <!-- Colors in the contact browser list -->
     <color name="contact_count_text_color">#AAAAAA</color>
 
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 102ddbd..43c4107 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1490,7 +1490,7 @@
     <string name="activity_title_contacts_filter">Contacts to display</string>
 
     <!-- Menu item for the settings activity [CHAR LIMIT=64] -->
-    <string name="menu_settings">Display options</string>
+    <string name="menu_settings" msgid="377929915873428211">Settings</string>
 
     <!-- The preference section title for contact display options [CHAR LIMIT=128] -->
     <string name="preference_displayOptions">Display options</string>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index dc209c5..0a5352a 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -181,6 +181,8 @@
     </style>
 
     <style name="ContactPickerTheme" parent="@style/PeopleTheme">
+        <item name="android:windowActionBar">false</item>
+        <item name="android:windowNoTitle">true</item>
     </style>
     <style name="ContactPickerLayout" parent="ContactPickerTheme">
         <item name="android:layout_width">match_parent</item>
diff --git a/src/com/android/contacts/calllog/CallLogFragment.java b/src/com/android/contacts/calllog/CallLogFragment.java
index 59deff4..df52395 100644
--- a/src/com/android/contacts/calllog/CallLogFragment.java
+++ b/src/com/android/contacts/calllog/CallLogFragment.java
@@ -75,6 +75,7 @@
     private View mStatusMessageView;
     private TextView mStatusMessageText;
     private TextView mStatusMessageAction;
+    private View mStatusMessageDivider;
     private KeyguardManager mKeyguardManager;
 
     @Override
@@ -142,6 +143,7 @@
         mStatusMessageView = view.findViewById(R.id.voicemail_status);
         mStatusMessageText = (TextView) view.findViewById(R.id.voicemail_status_message);
         mStatusMessageAction = (TextView) view.findViewById(R.id.voicemail_status_action);
+        mStatusMessageDivider = view.findViewById(R.id.voicemail_status_divider);
         return view;
     }
 
@@ -181,7 +183,8 @@
                 mStatusMessageAction.setText(message.actionMessageId);
             }
             if (message.actionUri != null) {
-                mStatusMessageAction.setClickable(true);
+                mStatusMessageAction.setVisibility(View.VISIBLE);
+                mStatusMessageDivider.setVisibility(View.VISIBLE);
                 mStatusMessageAction.setOnClickListener(new View.OnClickListener() {
                     @Override
                     public void onClick(View v) {
@@ -190,7 +193,8 @@
                     }
                 });
             } else {
-                mStatusMessageAction.setClickable(false);
+                mStatusMessageAction.setVisibility(View.GONE);
+                mStatusMessageDivider.setVisibility(View.GONE);
             }
         }
     }
diff --git a/src/com/android/contacts/list/ContactEntryListFragment.java b/src/com/android/contacts/list/ContactEntryListFragment.java
index 528e246..df2f0cc 100644
--- a/src/com/android/contacts/list/ContactEntryListFragment.java
+++ b/src/com/android/contacts/list/ContactEntryListFragment.java
@@ -755,8 +755,6 @@
                     "'android.R.id.list'");
         }
 
-        mListView.setSelector(getContext().getResources().getDrawable(R.drawable.list_selector));
-
         View emptyView = mView.findViewById(com.android.internal.R.id.empty);
         if (emptyView != null) {
             mListView.setEmptyView(emptyView);
diff --git a/src/com/android/contacts/list/ContactListFilter.java b/src/com/android/contacts/list/ContactListFilter.java
index 724098c..01d76a2 100644
--- a/src/com/android/contacts/list/ContactListFilter.java
+++ b/src/com/android/contacts/list/ContactListFilter.java
@@ -205,15 +205,13 @@
 
     /**
      * Try to obtain ContactListFilter object saved in SharedPreference.
-     * If there's no info there, return custom filter instead, assuming the user wants contacts
-     * which ContactsProvider remembers as "visible contacts".
-     * (See also {@link Contacts#IN_VISIBLE_GROUP})
+     * If there's no info there, return ALL filter instead.
      */
     public static ContactListFilter restoreDefaultPreferences(SharedPreferences prefs) {
         ContactListFilter filter = restoreFromPreferences(prefs);
         if (filter == null) {
-            // Show contacts in IN_VISIBLE_GROUP instead.
-            filter = ContactListFilter.createFilterWithType(ContactListFilter.FILTER_TYPE_CUSTOM);
+            filter = ContactListFilter.createFilterWithType(
+                    ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS);
         }
         return filter;
     }
diff --git a/src/com/android/contacts/list/ContactListItemView.java b/src/com/android/contacts/list/ContactListItemView.java
index f16102d..4b86295 100644
--- a/src/com/android/contacts/list/ContactListItemView.java
+++ b/src/com/android/contacts/list/ContactListItemView.java
@@ -24,6 +24,7 @@
 import com.android.contacts.widget.TextWithHighlightingFactory;
 
 import android.content.Context;
+import android.content.res.ColorStateList;
 import android.content.res.TypedArray;
 import android.database.CharArrayBuffer;
 import android.database.Cursor;
@@ -120,6 +121,9 @@
     private TextView mCountView;
     private ImageView mPresenceIcon;
 
+    private ColorStateList mPrimaryTextColor;
+    private ColorStateList mSecondaryTextColor;
+
     private char[] mHighlightedPrefix;
 
     private int mDefaultPhotoViewSize;
@@ -248,6 +252,9 @@
                         Color.GREEN));
         a.recycle();
 
+        mPrimaryTextColor = getResources().getColorStateList(R.color.list_primary_text_color);
+        mSecondaryTextColor = getResources().getColorStateList(R.color.list_secondary_text_color);
+
         mHorizontalDividerHeight = mHorizontalDividerDrawable.getIntrinsicHeight();
 
         if (mActivatedBackgroundDrawable != null) {
@@ -409,7 +416,7 @@
 
         mBoundsWithoutHeader.set(0, topBound, width, bottomBound);
 
-        if (mActivatedStateSupported) {
+        if (mActivatedStateSupported && isActivated()) {
             mActivatedBackgroundDrawable.setBounds(mBoundsWithoutHeader);
         }
 
@@ -624,7 +631,7 @@
 
     @Override
     public void dispatchDraw(Canvas canvas) {
-        if (mActivatedStateSupported) {
+        if (mActivatedStateSupported && isActivated()) {
             mActivatedBackgroundDrawable.draw(canvas);
         }
         if (mHorizontalDividerVisible) {
@@ -759,6 +766,10 @@
             mNameTextView.setSingleLine(true);
             mNameTextView.setEllipsize(getTextEllipsis());
             mNameTextView.setTextAppearance(mContext, android.R.style.TextAppearance_Medium);
+            mNameTextView.setTextColor(mPrimaryTextColor);
+            // Manually call setActivated() since this view may be added after the first
+            // setActivated() call toward this whole item view.
+            mNameTextView.setActivated(isActivated());
             mNameTextView.setGravity(Gravity.CENTER_VERTICAL);
             addView(mNameTextView);
         }
@@ -815,6 +826,8 @@
             mPhoneticNameTextView.setEllipsize(getTextEllipsis());
             mPhoneticNameTextView.setTextAppearance(mContext, android.R.style.TextAppearance_Small);
             mPhoneticNameTextView.setTypeface(mPhoneticNameTextView.getTypeface(), Typeface.BOLD);
+            mPhoneticNameTextView.setTextColor(mPrimaryTextColor);
+            mPhoneticNameTextView.setActivated(isActivated());
             addView(mPhoneticNameTextView);
         }
         return mPhoneticNameTextView;
@@ -860,6 +873,8 @@
             mLabelView.setEllipsize(getTextEllipsis());
             mLabelView.setTextAppearance(mContext, android.R.style.TextAppearance_Small);
             mLabelView.setTypeface(mLabelView.getTypeface(), Typeface.BOLD);
+            mLabelView.setTextColor(mPrimaryTextColor);
+            mLabelView.setActivated(isActivated());
             addView(mLabelView);
         }
         return mLabelView;
@@ -890,6 +905,8 @@
             mDataView.setSingleLine(true);
             mDataView.setEllipsize(getTextEllipsis());
             mDataView.setTextAppearance(mContext, android.R.style.TextAppearance_Small);
+            mDataView.setTextColor(mPrimaryTextColor);
+            mDataView.setActivated(isActivated());
             addView(mDataView);
         }
         return mDataView;
@@ -919,6 +936,8 @@
             mSnippetView.setEllipsize(getTextEllipsis());
             mSnippetView.setTextAppearance(mContext, android.R.style.TextAppearance_Small);
             mSnippetView.setTypeface(mSnippetView.getTypeface(), Typeface.BOLD);
+            mSnippetView.setTextColor(mPrimaryTextColor);
+            mSnippetView.setActivated(isActivated());
             addView(mSnippetView);
         }
         return mSnippetView;
@@ -927,14 +946,14 @@
     /**
      * Returns the text view for the status, creating it if necessary.
      */
-
     public TextView getStatusView() {
         if (mStatusView == null) {
             mStatusView = new TextView(mContext);
             mStatusView.setSingleLine(true);
             mStatusView.setEllipsize(getTextEllipsis());
             mStatusView.setTextAppearance(mContext, android.R.style.TextAppearance_Small);
-            mStatusView.setTextColor(R.color.secondary_text_color);
+            mStatusView.setTextColor(mSecondaryTextColor);
+            mStatusView.setActivated(isActivated());
             addView(mStatusView);
         }
         return mStatusView;
diff --git a/src/com/android/contacts/list/ContactTileView.java b/src/com/android/contacts/list/ContactTileView.java
index 7355dbf..4562864 100644
--- a/src/com/android/contacts/list/ContactTileView.java
+++ b/src/com/android/contacts/list/ContactTileView.java
@@ -124,9 +124,9 @@
                         mQuickContact.assignContactUri(mLookupUri);
                     }
                 } else if (mQuickContact != null) {
-                        mQuickContact.assignContactUri(mLookupUri);
-                        mPhotoManager.loadPhoto(mQuickContact, entry.photoUri);
-                    }
+                    mQuickContact.assignContactUri(mLookupUri);
+                    mPhotoManager.loadPhoto(mQuickContact, entry.photoUri);
+                }
 
             } else {
                 Log.w(TAG, "contactPhotoManager not set");
@@ -151,4 +151,12 @@
     public interface Listener {
         void onClick(ContactTileView contactTileView);
     }
+
+    @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/list/DefaultContactListAdapter.java b/src/com/android/contacts/list/DefaultContactListAdapter.java
index 9a3f05e..f202522 100644
--- a/src/com/android/contacts/list/DefaultContactListAdapter.java
+++ b/src/com/android/contacts/list/DefaultContactListAdapter.java
@@ -199,11 +199,7 @@
                 } else {
                     selection.append(" AND " + RawContacts.DATA_SET + " IS NULL");
                 }
-                // TODO (stopship): And also this private API, which is even worse
-                selection.append(") OR " + Contacts._ID + "=(" +
-                        "SELECT contact_id " +
-                        "FROM raw_contacts rc inner join accounts a" +
-                        " ON a.profile_raw_contact_id = rc._id)");
+                selection.append(")");
                 break;
             }
             case ContactListFilter.FILTER_TYPE_GROUP: {
