Update message list item redlines.

- reduces number of "modes" to just two: normal and wide
- consolidate the normal/narrow modes for phone and tablet (as per spec)
  with the only diff on the tablet being side paddings
- fix issue with "white arrow" visual being shown in phone when tapping
  on a message
- make touch computations be resilient to padding values instead of
  assuming that the check/star icons are right at the left/right

Bug: 5103823

Change-Id: I23f967454f7744d9c59256625e302e54a353994a
diff --git a/res/drawable-sw600dp-hdpi/btn_check_off_normal_holo_light.png b/res/drawable-sw600dp-hdpi/btn_check_off_normal_holo_light.png
deleted file mode 100644
index d59326e..0000000
--- a/res/drawable-sw600dp-hdpi/btn_check_off_normal_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-hdpi/btn_check_on_normal_holo_light.png b/res/drawable-sw600dp-hdpi/btn_check_on_normal_holo_light.png
deleted file mode 100644
index d1e2f3a..0000000
--- a/res/drawable-sw600dp-hdpi/btn_check_on_normal_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-hdpi/btn_star_off_focused_holo_light.png b/res/drawable-sw600dp-hdpi/btn_star_off_focused_holo_light.png
deleted file mode 100644
index 7b214bc..0000000
--- a/res/drawable-sw600dp-hdpi/btn_star_off_focused_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-hdpi/btn_star_off_normal_holo_light.png b/res/drawable-sw600dp-hdpi/btn_star_off_normal_holo_light.png
deleted file mode 100644
index 4c64451..0000000
--- a/res/drawable-sw600dp-hdpi/btn_star_off_normal_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-hdpi/btn_star_off_pressed_holo_light.png b/res/drawable-sw600dp-hdpi/btn_star_off_pressed_holo_light.png
deleted file mode 100644
index df09465..0000000
--- a/res/drawable-sw600dp-hdpi/btn_star_off_pressed_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-hdpi/btn_star_on_focused_holo_light.png b/res/drawable-sw600dp-hdpi/btn_star_on_focused_holo_light.png
deleted file mode 100644
index 6b0db08..0000000
--- a/res/drawable-sw600dp-hdpi/btn_star_on_focused_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-hdpi/btn_star_on_normal_holo_light.png b/res/drawable-sw600dp-hdpi/btn_star_on_normal_holo_light.png
deleted file mode 100644
index bd0fc67..0000000
--- a/res/drawable-sw600dp-hdpi/btn_star_on_normal_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-hdpi/btn_star_on_pressed_holo_light.png b/res/drawable-sw600dp-hdpi/btn_star_on_pressed_holo_light.png
deleted file mode 100644
index 8e33b30..0000000
--- a/res/drawable-sw600dp-hdpi/btn_star_on_pressed_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-mdpi/btn_check_off_normal_holo_light.png b/res/drawable-sw600dp-mdpi/btn_check_off_normal_holo_light.png
deleted file mode 100644
index 50bf00f..0000000
--- a/res/drawable-sw600dp-mdpi/btn_check_off_normal_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-mdpi/btn_check_on_normal_holo_light.png b/res/drawable-sw600dp-mdpi/btn_check_on_normal_holo_light.png
deleted file mode 100644
index 11b1ef4..0000000
--- a/res/drawable-sw600dp-mdpi/btn_check_on_normal_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-mdpi/btn_star_off_focused_holo_light.png b/res/drawable-sw600dp-mdpi/btn_star_off_focused_holo_light.png
deleted file mode 100644
index 55d906d..0000000
--- a/res/drawable-sw600dp-mdpi/btn_star_off_focused_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-mdpi/btn_star_off_normal_holo_light.png b/res/drawable-sw600dp-mdpi/btn_star_off_normal_holo_light.png
deleted file mode 100644
index efc90ed..0000000
--- a/res/drawable-sw600dp-mdpi/btn_star_off_normal_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-mdpi/btn_star_off_pressed_holo_light.png b/res/drawable-sw600dp-mdpi/btn_star_off_pressed_holo_light.png
deleted file mode 100644
index 4f7324a..0000000
--- a/res/drawable-sw600dp-mdpi/btn_star_off_pressed_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-mdpi/btn_star_on_focused_holo_light.png b/res/drawable-sw600dp-mdpi/btn_star_on_focused_holo_light.png
deleted file mode 100644
index f3cdbc9..0000000
--- a/res/drawable-sw600dp-mdpi/btn_star_on_focused_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-mdpi/btn_star_on_normal_holo_light.png b/res/drawable-sw600dp-mdpi/btn_star_on_normal_holo_light.png
deleted file mode 100644
index e772be0..0000000
--- a/res/drawable-sw600dp-mdpi/btn_star_on_normal_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-mdpi/btn_star_on_pressed_holo_light.png b/res/drawable-sw600dp-mdpi/btn_star_on_pressed_holo_light.png
deleted file mode 100644
index 2001f9e..0000000
--- a/res/drawable-sw600dp-mdpi/btn_star_on_pressed_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xhdpi/btn_check_off_normal_holo_light.png b/res/drawable-sw600dp-xhdpi/btn_check_off_normal_holo_light.png
deleted file mode 100644
index 933e06b..0000000
--- a/res/drawable-sw600dp-xhdpi/btn_check_off_normal_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xhdpi/btn_check_on_normal_holo_light.png b/res/drawable-sw600dp-xhdpi/btn_check_on_normal_holo_light.png
deleted file mode 100644
index 88d077b..0000000
--- a/res/drawable-sw600dp-xhdpi/btn_check_on_normal_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xhdpi/btn_star_off_focused_holo_light.png b/res/drawable-sw600dp-xhdpi/btn_star_off_focused_holo_light.png
deleted file mode 100644
index 1f02ca9..0000000
--- a/res/drawable-sw600dp-xhdpi/btn_star_off_focused_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xhdpi/btn_star_off_normal_holo_light.png b/res/drawable-sw600dp-xhdpi/btn_star_off_normal_holo_light.png
deleted file mode 100644
index 30b8af3..0000000
--- a/res/drawable-sw600dp-xhdpi/btn_star_off_normal_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xhdpi/btn_star_off_pressed_holo_light.png b/res/drawable-sw600dp-xhdpi/btn_star_off_pressed_holo_light.png
deleted file mode 100644
index a2772dd..0000000
--- a/res/drawable-sw600dp-xhdpi/btn_star_off_pressed_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xhdpi/btn_star_on_focused_holo_light.png b/res/drawable-sw600dp-xhdpi/btn_star_on_focused_holo_light.png
deleted file mode 100644
index 65c9ff0..0000000
--- a/res/drawable-sw600dp-xhdpi/btn_star_on_focused_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xhdpi/btn_star_on_normal_holo_light.png b/res/drawable-sw600dp-xhdpi/btn_star_on_normal_holo_light.png
deleted file mode 100644
index 8b5bee9..0000000
--- a/res/drawable-sw600dp-xhdpi/btn_star_on_normal_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-xhdpi/btn_star_on_pressed_holo_light.png b/res/drawable-sw600dp-xhdpi/btn_star_on_pressed_holo_light.png
deleted file mode 100644
index 38e5d27..0000000
--- a/res/drawable-sw600dp-xhdpi/btn_star_on_pressed_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp/message_list_read_selector.xml b/res/drawable-sw600dp/message_list_read_selector.xml
new file mode 100644
index 0000000..49ed3ae
--- /dev/null
+++ b/res/drawable-sw600dp/message_list_read_selector.xml
@@ -0,0 +1,30 @@
+<?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_focused="true"
+          android:drawable="@drawable/list_focused_holo" />
+    <item android:state_pressed="true"
+          android:drawable="@drawable/list_pressed_holo" />
+    <item android:state_selected="true"
+          android:state_activated="true"
+          android:drawable="@drawable/list_arrow_selected_holo" />
+    <item android:state_activated="true"
+          android:drawable="@drawable/list_activated_holo" />
+    <item android:state_selected="true"
+          android:drawable="@drawable/list_selected_holo" />
+    <item android:drawable="@drawable/list_read_holo" />
+</selector>
diff --git a/res/drawable-sw600dp/message_list_unread_selector.xml b/res/drawable-sw600dp/message_list_unread_selector.xml
new file mode 100644
index 0000000..b5f7008
--- /dev/null
+++ b/res/drawable-sw600dp/message_list_unread_selector.xml
@@ -0,0 +1,30 @@
+<?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_focused="true"
+          android:drawable="@drawable/list_focused_holo" />
+    <item android:state_pressed="true"
+          android:drawable="@drawable/list_pressed_holo" />
+    <item android:state_selected="true"
+          android:state_activated="true"
+          android:drawable="@drawable/list_arrow_selected_holo" />
+    <item android:state_activated="true"
+          android:drawable="@drawable/list_activated_holo" />
+    <item android:state_selected="true"
+          android:drawable="@drawable/list_selected_holo" />
+    <item android:drawable="@drawable/list_unread_holo" />
+</selector>
diff --git a/res/drawable/message_list_read_selector.xml b/res/drawable/message_list_read_selector.xml
index b57f802..9ebb6b8 100644
--- a/res/drawable/message_list_read_selector.xml
+++ b/res/drawable/message_list_read_selector.xml
@@ -21,9 +21,9 @@
           android:drawable="@drawable/list_pressed_holo" />
     <item android:state_selected="true"
           android:state_activated="true"
-          android:drawable="@drawable/list_arrow_selected_holo" />
+          android:drawable="@color/message_activated_color" />
     <item android:state_activated="true"
-          android:drawable="@drawable/list_activated_holo" />
+          android:drawable="@color/message_activated_color" />
     <item android:state_selected="true"
           android:drawable="@drawable/list_selected_holo" />
     <item android:drawable="@drawable/list_read_holo" />
diff --git a/res/drawable/message_list_unread_selector.xml b/res/drawable/message_list_unread_selector.xml
index 206a1db..1b6d292 100644
--- a/res/drawable/message_list_unread_selector.xml
+++ b/res/drawable/message_list_unread_selector.xml
@@ -21,9 +21,9 @@
           android:drawable="@drawable/list_pressed_holo" />
     <item android:state_selected="true"
           android:state_activated="true"
-          android:drawable="@drawable/list_arrow_selected_holo" />
+          android:drawable="@color/message_activated_color" />
     <item android:state_activated="true"
-          android:drawable="@drawable/list_activated_holo" />
+          android:drawable="@color/message_activated_color" />
     <item android:state_selected="true"
           android:drawable="@drawable/list_selected_holo" />
     <item android:drawable="@drawable/list_unread_holo" />
diff --git a/res/layout-sw600dp/message_list_item_narrow.xml b/res/layout-sw600dp/message_list_item_narrow.xml
deleted file mode 100644
index a33f7b2..0000000
--- a/res/layout-sw600dp/message_list_item_narrow.xml
+++ /dev/null
@@ -1,102 +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.
--->
-
-<!-- This layout is used as a template to create a custom message item view
-    in narrow mode. To be able to get the correct measurements, every source field should
-    be populated with data here. E.g:
-    - Text View should set text to a random long string (android:text="@string/long_string")
-    - Image View should set source to a specific asset -->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="horizontal">
-    <LinearLayout
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_vertical"
-        android:layout_marginLeft="4dip"
-        android:layout_marginRight="4dip"
-        android:orientation="vertical" >
-        <ImageView
-            android:id="@+id/checkmark"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@drawable/btn_check_on_normal_holo_light" />
-        <ImageView
-            android:id="@+id/reply_state"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@drawable/ic_reply_holo_dark" />
-    </LinearLayout>
-    <LinearLayout
-        android:layout_width="0dip"
-        android:layout_height="wrap_content"
-        android:layout_weight="1"
-        android:orientation="vertical"
-        android:layout_gravity="center_vertical">
-        <TextView
-            android:id="@+id/senders"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="@string/long_string"
-            android:textSize="@dimen/senders_font_size"
-            android:lines="1" />
-        <TextView
-            android:id="@+id/subject"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="@string/long_string"
-            android:textSize="@dimen/subject_font_size"
-            android:lines="2" />
-    </LinearLayout>
-    <LinearLayout
-        android:layout_width="80dip"
-        android:layout_height="match_parent"
-        android:orientation="vertical"
-        android:gravity="right">
-        <View
-            android:id="@+id/color_chip"
-            android:layout_width="@dimen/message_list_item_color_tip_width"
-            android:layout_height="@dimen/message_list_item_color_tip_height"
-            android:layout_marginRight="16dip" />
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal" >
-            <ImageView
-                android:id="@+id/paperclip"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:src="@drawable/ic_attachment_holo_light" />
-            <TextView
-                android:id="@+id/date"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="8dip"
-                android:layout_marginRight="16dip"
-                android:text="@string/long_string"
-                android:lines="1" />
-        </LinearLayout>
-        <ImageView
-            android:id="@+id/star"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="16dip"
-            android:layout_marginRight="16dip"
-            android:src="@drawable/btn_star_off_normal_holo_light" />
-    </LinearLayout>
-</LinearLayout>
diff --git a/res/layout-sw600dp/message_list_item_normal.xml b/res/layout-sw600dp/message_list_item_normal.xml
deleted file mode 100644
index 41c7e9c..0000000
--- a/res/layout-sw600dp/message_list_item_normal.xml
+++ /dev/null
@@ -1,104 +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.
--->
-
-
-<!-- This layout is used as a template to create custom view MessageListItem
-    in normal mode. To be able to get the correct measurements, every source field should
-    be populated with data here. E.g:
-    - Text View should set text to a random long string (android:text="@string/long_string")
-    - Image View should set source to a specific asset -->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="horizontal">
-    <LinearLayout
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_vertical"
-        android:layout_marginLeft="4dip"
-        android:layout_marginRight="4dip"
-        android:orientation="vertical" >
-        <ImageView
-            android:id="@+id/checkmark"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@drawable/btn_check_on_normal_holo_light" />
-        <ImageView
-            android:id="@+id/reply_state"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@drawable/ic_reply_holo_dark" />
-    </LinearLayout>
-    <LinearLayout
-        android:layout_width="0dip"
-        android:layout_height="wrap_content"
-        android:layout_weight="1"
-        android:orientation="vertical"
-        android:layout_gravity="center_vertical">
-        <TextView
-            android:id="@+id/senders"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="@string/long_string"
-            android:textSize="@dimen/senders_font_size"
-            android:lines="1" />
-        <TextView
-            android:id="@+id/subject"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="@string/long_string"
-            android:textSize="@dimen/subject_font_size"
-            android:lines="2" />
-    </LinearLayout>
-    <LinearLayout
-        android:layout_width="136dip"
-        android:layout_height="match_parent"
-        android:orientation="vertical"
-        android:gravity="right">
-        <View
-            android:id="@+id/color_chip"
-            android:layout_width="@dimen/message_list_item_color_tip_width"
-            android:layout_height="@dimen/message_list_item_color_tip_height"
-            android:layout_marginRight="8dip"
-            android:paddingTop="2dip" />
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal" >
-            <ImageView
-                android:id="@+id/paperclip"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:src="@drawable/ic_attachment_holo_light" />
-            <TextView
-                android:id="@+id/date"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="6dip"
-                android:layout_marginRight="8dip"
-                android:text="@string/long_string"
-                android:lines="1" />
-        </LinearLayout>
-        <ImageView
-            android:id="@+id/star"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="16dip"
-            android:layout_marginRight="8dip"
-            android:src="@drawable/btn_star_off_normal_holo_light" />
-    </LinearLayout>
-</LinearLayout>
diff --git a/res/layout-sw600dp/message_list_item_wide.xml b/res/layout-sw600dp/message_list_item_wide.xml
deleted file mode 100644
index 226d670..0000000
--- a/res/layout-sw600dp/message_list_item_wide.xml
+++ /dev/null
@@ -1,100 +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.
--->
-
-
-<!-- This layout is used as a template to create custom message list item view
-    in wide mode. To be able to get the correct measurements, every source field should
-    be populated with data here. E.g:
-    - Text View should set text to a random long string (android:text="@string/long_string")
-    - Image View should set source to a specific asset -->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="horizontal">
-    <ImageView
-        android:id="@+id/checkmark"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="16dip"
-        android:layout_marginRight="16dip"
-        android:layout_gravity="center_vertical"
-        android:src="@drawable/btn_check_on_normal_holo_light" />
-    <TextView
-        android:id="@+id/senders"
-        android:layout_width="0dip"
-        android:layout_height="wrap_content"
-        android:layout_weight="0.3"
-        android:layout_gravity="center_vertical"
-        android:text="@string/long_string"
-        android:textSize="@dimen/wide_senders_font_size"
-        android:lines="1" />
-    <ImageView
-        android:id="@+id/reply_state"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="16dip"
-        android:layout_marginRight="16dip"
-        android:layout_gravity="center_vertical"
-        android:src="@drawable/ic_reply_holo_dark" />
-    <TextView
-        android:id="@+id/subject"
-        android:layout_width="0dip"
-        android:layout_height="wrap_content"
-        android:layout_weight="0.7"
-        android:layout_marginLeft="16dip"
-        android:layout_marginRight="16dip"
-        android:layout_gravity="center_vertical"
-        android:text="@string/long_string"
-        android:textSize="@dimen/subject_font_size"
-        android:lines="2" />
-    <RelativeLayout
-        android:layout_width="144dip"
-        android:layout_height="match_parent">
-        <View
-            android:id="@+id/color_chip"
-            android:layout_width="@dimen/message_list_item_color_tip_width"
-            android:layout_height="@dimen/message_list_item_color_tip_height"
-            android:layout_alignParentTop="true"
-            android:layout_alignParentRight="true"
-            android:paddingTop="2dip" />
-
-        <ImageView
-            android:id="@+id/paperclip"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_centerVertical="true"
-            android:src="@drawable/ic_attachment_holo_light" />
-
-        <TextView
-            android:id="@+id/date"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_centerVertical="true"
-            android:layout_alignParentRight="true"
-            android:text="@string/long_string"
-            android:lines="1" />
-
-    </RelativeLayout>
-    <ImageView
-        android:id="@+id/star"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="16dip"
-        android:layout_marginRight="16dip"
-        android:layout_gravity="center_vertical"
-        android:src="@drawable/btn_star_off_normal_holo_light" />
-</LinearLayout>
diff --git a/res/layout/message_list_item_narrow.xml b/res/layout/message_list_item_narrow.xml
deleted file mode 100644
index 08a264e..0000000
--- a/res/layout/message_list_item_narrow.xml
+++ /dev/null
@@ -1,101 +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.
--->
-
-<!-- This layout is used as a template to create a custom message item view
-    in narrow mode. To be able to get the correct measurements, every source field should
-    be populated with data here. E.g:
-    - Text View should set text to a random long string (android:text="@string/long_string")
-    - Image View should set source to a specific asset -->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="horizontal">
-    <LinearLayout
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_vertical"
-        android:layout_marginLeft="4dip"
-        android:layout_marginRight="4dip"
-        android:orientation="vertical" >
-        <ImageView
-            android:id="@+id/checkmark"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@drawable/btn_check_on_normal_holo_light" />
-        <ImageView
-            android:id="@+id/reply_state"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@drawable/ic_reply_holo_dark" />
-    </LinearLayout>
-    <LinearLayout
-        android:layout_width="0dip"
-        android:layout_height="wrap_content"
-        android:layout_weight="1"
-        android:orientation="vertical"
-        android:layout_gravity="center_vertical">
-        <TextView
-            android:id="@+id/senders"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="@string/long_string"
-            android:textSize="@dimen/senders_font_size"
-            android:lines="1" />
-        <TextView
-            android:id="@+id/subject"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:text="@string/long_string"
-            android:textSize="@dimen/subject_font_size"
-            android:lines="2" />
-    </LinearLayout>
-    <LinearLayout
-        android:layout_width="80dip"
-        android:layout_height="match_parent"
-        android:orientation="vertical"
-        android:gravity="right">
-        <View
-            android:id="@+id/color_chip"
-            android:layout_width="@dimen/message_list_item_color_tip_width"
-            android:layout_height="@dimen/message_list_item_color_tip_height"
-            android:layout_marginRight="16dip" />
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal" >
-            <ImageView
-                android:id="@+id/paperclip"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:src="@drawable/ic_attachment_holo_light" />
-            <TextView
-                android:id="@+id/date"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginRight="8dip"
-                android:text="@string/long_string"
-                android:lines="1" />
-        </LinearLayout>
-        <ImageView
-            android:id="@+id/star"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="8dip"
-            android:layout_marginRight="8dip"
-            android:src="@drawable/btn_star_off_normal_holo_light" />
-    </LinearLayout>
-</LinearLayout>
diff --git a/res/layout/message_list_item_normal.xml b/res/layout/message_list_item_normal.xml
index 08a264e..7cef945 100644
--- a/res/layout/message_list_item_normal.xml
+++ b/res/layout/message_list_item_normal.xml
@@ -15,43 +15,100 @@
 -->
 
 <!-- This layout is used as a template to create a custom message item view
-    in narrow mode. To be able to get the correct measurements, every source field should
+    in normal mode. To be able to get the correct measurements, every source field should
     be populated with data here. E.g:
     - Text View should set text to a random long string (android:text="@string/long_string")
     - Image View should set source to a specific asset -->
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
+    style="@style/message_list_item_normal"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
+    android:layout_height="@dimen/message_list_item_height_normal"
     android:orientation="horizontal">
-    <LinearLayout
+    <RelativeLayout
         android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_vertical"
-        android:layout_marginLeft="4dip"
-        android:layout_marginRight="4dip"
-        android:orientation="vertical" >
+        android:layout_height="match_parent"
+        android:paddingLeft="8dip"
+        android:paddingRight="8dip"
+        >
+        <ImageView
+            android:id="@+id/reply_state"
+            android:layout_width="16dip"
+            android:layout_height="16dip"
+            android:layout_alignParentTop="true"
+            android:layout_marginTop="10dip"
+            android:src="@drawable/ic_reply_holo_dark"
+            />
         <ImageView
             android:id="@+id/checkmark"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:src="@drawable/btn_check_on_normal_holo_light" />
-        <ImageView
-            android:id="@+id/reply_state"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:src="@drawable/ic_reply_holo_dark" />
-    </LinearLayout>
-    <LinearLayout
+            android:layout_marginTop="3dip"
+            android:layout_below="@+id/reply_state"
+            android:src="@drawable/btn_check_on_normal_holo_light"
+            />
+    </RelativeLayout>
+
+    <!-- No top padding, since the color chips have no padding -
+         individual children should set their own top margins -->
+    <RelativeLayout
         android:layout_width="0dip"
-        android:layout_height="wrap_content"
+        android:layout_height="match_parent"
         android:layout_weight="1"
         android:orientation="vertical"
-        android:layout_gravity="center_vertical">
+        android:paddingRight="16dip"
+        android:paddingBottom="15dip"
+        android:paddingLeft="8dip"
+        >
+        <View
+            android:id="@+id/color_chip"
+            android:layout_width="@dimen/message_list_item_color_tip_width"
+            android:layout_height="@dimen/message_list_item_color_tip_height"
+            android:layout_alignParentTop="true"
+            android:layout_alignParentRight="true"
+            />
+        <ImageView
+            android:id="@+id/star"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentRight="true"
+            android:layout_alignParentBottom="true"
+            android:layout_marginBottom="16dip"
+            android:src="@drawable/btn_star_off_normal_holo_light" />
+
+        <LinearLayout
+            android:id="@+id/date_container"
+            android:layout_width="80dip"
+            android:layout_height="wrap_content"
+            android:layout_alignParentRight="true"
+            android:layout_above="@+id/star"
+            android:orientation="horizontal"
+            >
+            <!-- reserve enough vertical space for two icons -->
+            <ImageView
+                android:id="@+id/paperclip"
+                android:layout_width="36dip"
+                android:layout_height="16dip"
+                android:layout_gravity="top"
+                android:layout_marginRight="2dip"
+                android:src="@drawable/ic_attachment_holo_light" />
+            <TextView
+                android:id="@+id/date"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textSize="@dimen/date_font_size"
+                android:text="@string/long_string"
+                android:lines="1" />
+        </LinearLayout>
+
         <TextView
             android:id="@+id/senders"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
+            android:layout_alignParentTop="true"
+            android:layout_alignParentLeft="true"
+            android:layout_toLeftOf="@+id/date_container"
+            android:layout_marginTop="8dip"
             android:text="@string/long_string"
             android:textSize="@dimen/senders_font_size"
             android:lines="1" />
@@ -59,43 +116,11 @@
             android:id="@+id/subject"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
+            android:layout_alignParentLeft="true"
+            android:layout_alignParentBottom="true"
+            android:layout_toLeftOf="@+id/star"
             android:text="@string/long_string"
             android:textSize="@dimen/subject_font_size"
             android:lines="2" />
-    </LinearLayout>
-    <LinearLayout
-        android:layout_width="80dip"
-        android:layout_height="match_parent"
-        android:orientation="vertical"
-        android:gravity="right">
-        <View
-            android:id="@+id/color_chip"
-            android:layout_width="@dimen/message_list_item_color_tip_width"
-            android:layout_height="@dimen/message_list_item_color_tip_height"
-            android:layout_marginRight="16dip" />
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal" >
-            <ImageView
-                android:id="@+id/paperclip"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:src="@drawable/ic_attachment_holo_light" />
-            <TextView
-                android:id="@+id/date"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginRight="8dip"
-                android:text="@string/long_string"
-                android:lines="1" />
-        </LinearLayout>
-        <ImageView
-            android:id="@+id/star"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="8dip"
-            android:layout_marginRight="8dip"
-            android:src="@drawable/btn_star_off_normal_holo_light" />
-    </LinearLayout>
+    </RelativeLayout>
 </LinearLayout>
diff --git a/res/layout/message_list_item_wide.xml b/res/layout/message_list_item_wide.xml
index 226d670..8354b93 100644
--- a/res/layout/message_list_item_wide.xml
+++ b/res/layout/message_list_item_wide.xml
@@ -22,6 +22,7 @@
     - Image View should set source to a specific asset -->
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
+    style="@style/message_list_item_wide"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="horizontal">
@@ -59,7 +60,7 @@
         android:layout_marginRight="16dip"
         android:layout_gravity="center_vertical"
         android:text="@string/long_string"
-        android:textSize="@dimen/subject_font_size"
+        android:textSize="@dimen/wide_subject_font_size"
         android:lines="2" />
     <RelativeLayout
         android:layout_width="144dip"
diff --git a/res/values-sw600dp/dimensions.xml b/res/values-sw600dp/dimensions.xml
index 5e585ae..a427c87 100644
--- a/res/values-sw600dp/dimensions.xml
+++ b/res/values-sw600dp/dimensions.xml
@@ -43,9 +43,4 @@
     <dimen name="setup_item_inset_left">16dip</dimen>
     <dimen name="setup_item_inset_right">64dip</dimen>
 
-    <dimen name="message_list_item_height_wide">64dip</dimen>
-    <dimen name="message_list_item_height_narrow">80dip</dimen>
-    <dimen name="minimum_width_wide_mode">800dip</dimen>
-    <dimen name="minimum_width_normal_mode">550dip</dimen>
-
 </resources>
diff --git a/res/values-sw600dp/styles.xml b/res/values-sw600dp/styles.xml
index 7c33fbc..cd8257a 100644
--- a/res/values-sw600dp/styles.xml
+++ b/res/values-sw600dp/styles.xml
@@ -147,4 +147,14 @@
         <item name="android:ellipsize">end</item>
         <item name="android:gravity">center</item>
     </style>
+
+    <style name="message_list_item_normal">
+        <item name="android:paddingLeft">16dip</item>
+        <item name="android:paddingRight">32dip</item>
+    </style>
+
+    <style name="message_list_item_wide">
+        <item name="android:paddingLeft">16dip</item>
+        <item name="android:paddingRight">16dip</item>
+    </style>
 </resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 9df6d4e..2d20a96 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -61,6 +61,7 @@
 
     <color name="message_view_info_back_color">#deecfa</color>
     <color name="message_view_header_color">#3cb8e6</color>
+    <color name="message_activated_color">#3cb8e6</color>
 
     <color name="error_bar_background">#ffff66</color>
 </resources>
diff --git a/res/values/dimensions.xml b/res/values/dimensions.xml
index bd0ad5e..ff3ac82 100644
--- a/res/values/dimensions.xml
+++ b/res/values/dimensions.xml
@@ -18,11 +18,10 @@
 
 <resources>
     <dimen name="button_minWidth">100sp</dimen>
-    <dimen name="message_list_item_text_size">16dip</dimen>
-    <dimen name="message_list_item_height_wide">72dip</dimen>
-    <dimen name="message_list_item_height_narrow">72dip</dimen>
+    <dimen name="message_list_item_height_wide">70dip</dimen>
+    <dimen name="message_list_item_height_normal">70dip</dimen>
     <dimen name="message_list_item_color_tip_width">35dip</dimen>
-    <dimen name="message_list_item_color_tip_height">8dip</dimen>
+    <dimen name="message_list_item_color_tip_height">6dip</dimen>
 
     <dimen name="error_message_height">48dip</dimen>
 
@@ -61,12 +60,12 @@
     <dimen name="account_spinner_dropdown_width">300dip</dimen>
 
     <!-- MessageListItem -->
-    <dimen name="senders_font_size">14sp</dimen>
+    <dimen name="senders_font_size">16sp</dimen>
     <dimen name="wide_senders_font_size">16sp</dimen>
-    <dimen name="subject_font_size">16sp</dimen>
-    <dimen name="date_font_size">14sp</dimen>
+    <dimen name="subject_font_size">14sp</dimen>
+    <dimen name="wide_subject_font_size">16sp</dimen>
+    <dimen name="date_font_size">13sp</dimen>
     <dimen name="minimum_width_wide_mode">720dip</dimen>
-    <dimen name="minimum_width_normal_mode">280dip</dimen>
 
     <!-- Username/password entry -->
     <dimen name="setup_credentials_input_width">340dip</dimen>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 7c531f6..cfaecdf 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -16,7 +16,7 @@
 
 <!-- non-xlarge.  See also values-xlarge for specializations for xlarge screens -->
 <resources>
-    <style name="EmailTheme" parent="@android:style/Theme.Holo.Light">
+    <style name="EmailTheme" parent="@android:style/Theme.Holo.Light.SolidActionBar.Inverse">
     </style>
 
     <style name="unreadCount">
@@ -187,5 +187,12 @@
     <style name="EmailRecipientEditTextView" parent="@style/RecipientEditTextView">
         <item name="android:minHeight">48dip</item>
     </style>
+
+    <style name="message_list_item_normal">
+        <!-- no styles on phones -->
+    </style>
+    <style name="message_list_item_wide">
+        <!-- no styles on phones -->
+    </style>
 </resources>
 
diff --git a/src/com/android/email/activity/MessageListItem.java b/src/com/android/email/activity/MessageListItem.java
index ba965e0..ef78ed7 100644
--- a/src/com/android/email/activity/MessageListItem.java
+++ b/src/com/android/email/activity/MessageListItem.java
@@ -123,9 +123,8 @@
     private int mViewWidth = 0;
     private int mViewHeight = 0;
 
-    private static int sTextSize;
     private static int sItemHeightWide;
-    private static int sItemHeightNarrow;
+    private static int sItemHeightNormal;
 
     // Note: these cannot be shared Drawables because they are selectors which have state.
     private Drawable mReadSelector;
@@ -144,19 +143,15 @@
             sSubjectDescription = r.getString(R.string.message_subject_description).concat(", ");
             sSubjectEmptyDescription = r.getString(R.string.message_is_empty_description);
             sSubjectSnippetDivider = r.getString(R.string.message_list_subject_snippet_divider);
-            sTextSize =
-                r.getDimensionPixelSize(R.dimen.message_list_item_text_size);
             sItemHeightWide =
                 r.getDimensionPixelSize(R.dimen.message_list_item_height_wide);
-            sItemHeightNarrow =
-                r.getDimensionPixelSize(R.dimen.message_list_item_height_narrow);
+            sItemHeightNormal =
+                r.getDimensionPixelSize(R.dimen.message_list_item_height_normal);
 
             sDefaultPaint.setTypeface(Typeface.DEFAULT);
-            sDefaultPaint.setTextSize(sTextSize);
             sDefaultPaint.setAntiAlias(true);
             sDatePaint.setTypeface(Typeface.DEFAULT);
             sDatePaint.setAntiAlias(true);
-            sBoldPaint.setTextSize(sTextSize);
             sBoldPaint.setTypeface(Typeface.DEFAULT_BOLD);
             sBoldPaint.setAntiAlias(true);
             sHighlightPaint.setColor(TextUtilities.HIGHLIGHT_COLOR_INT);
@@ -263,7 +258,7 @@
 
         sDefaultPaint.setTextSize(mCoordinates.subjectFontSize);
         mSubjectLayout = new StaticLayout(mText, sDefaultPaint,
-                mCoordinates.subjectWidth, Alignment.ALIGN_NORMAL, 1, 0, true);
+                mCoordinates.subjectWidth, Alignment.ALIGN_NORMAL, 1, 0, false /* includePad */);
         if (mCoordinates.subjectLineCount < mSubjectLayout.getLineCount()) {
             // TODO: ellipsize.
             int end = mSubjectLayout.getLineEnd(mCoordinates.subjectLineCount - 1);
@@ -273,11 +268,12 @@
 
         // Now, format the sender for its width
         TextPaint senderPaint = mRead ? sDefaultPaint : sBoldPaint;
-        int senderWidth = mCoordinates.sendersWidth;
         // And get the ellipsized string for the calculated width
         if (TextUtils.isEmpty(mSender)) {
             mFormattedSender = "";
         } else {
+            int senderWidth = mCoordinates.sendersWidth;
+            senderPaint.setTextSize(mCoordinates.sendersFontSize);
             mFormattedSender = TextUtils.ellipsize(mSender, senderPaint, senderWidth,
                     TruncateAt.END);
         }
@@ -320,7 +316,7 @@
             if (mMode == MODE_WIDE) {
                 result = sItemHeightWide;
             } else {
-                result = sItemHeightNarrow;
+                result = sItemHeightNormal;
             }
             if (specMode == MeasureSpec.AT_MOST) {
                 // Respect AT_MOST value if that was what is called for by
@@ -363,7 +359,7 @@
 
         // Draw the checkbox
         canvas.drawBitmap(mAdapter.isSelected(this) ? sSelectedIconOn : sSelectedIconOff,
-                mCoordinates.checkmarkX, mCoordinates.checkmarkY, sDefaultPaint);
+                mCoordinates.checkmarkX, mCoordinates.checkmarkY, null);
 
         // Draw the sender name
         canvas.drawText(mFormattedSender, 0, mFormattedSender.length(),
@@ -373,13 +369,13 @@
         // Draw the reply state. Draw nothing if neither replied nor forwarded.
         if (mHasBeenRepliedTo && mHasBeenForwarded) {
             canvas.drawBitmap(sStateRepliedAndForwarded,
-                    mCoordinates.stateX, mCoordinates.stateY, sDefaultPaint);
+                    mCoordinates.stateX, mCoordinates.stateY, null);
         } else if (mHasBeenRepliedTo) {
             canvas.drawBitmap(sStateReplied,
-                    mCoordinates.stateX, mCoordinates.stateY, sDefaultPaint);
+                    mCoordinates.stateX, mCoordinates.stateY, null);
         } else if (mHasBeenForwarded) {
             canvas.drawBitmap(sStateForwarded,
-                    mCoordinates.stateX, mCoordinates.stateY, sDefaultPaint);
+                    mCoordinates.stateX, mCoordinates.stateY, null);
         }
 
         // Subject and snippet.
@@ -402,7 +398,7 @@
 
         // Draw the favorite icon
         canvas.drawBitmap(mIsFavorite ? sFavoriteIconOn : sFavoriteIconOff,
-                mCoordinates.starX, mCoordinates.starY, sDefaultPaint);
+                mCoordinates.starX, mCoordinates.starY, null);
 
         // TODO: deal with the icon layouts better from the coordinate class so that this logic
         // doesn't have to exist.
@@ -410,11 +406,11 @@
         int iconsLeft = dateX;
         if (mHasAttachment) {
             iconsLeft = iconsLeft - sAttachmentIcon.getWidth();
-            canvas.drawBitmap(sAttachmentIcon, iconsLeft, mCoordinates.paperclipY, sDefaultPaint);
+            canvas.drawBitmap(sAttachmentIcon, iconsLeft, mCoordinates.paperclipY, null);
         }
         if (mHasInvite) {
             iconsLeft -= sInviteIcon.getWidth();
-            canvas.drawBitmap(sInviteIcon, iconsLeft, mCoordinates.paperclipY, sDefaultPaint);
+            canvas.drawBitmap(sInviteIcon, iconsLeft, mCoordinates.paperclipY, null);
         }
 
     }
@@ -457,8 +453,9 @@
 
         boolean handled = false;
         int touchX = (int) event.getX();
-        int checkRight = mCoordinates.checkmarkWidthIncludingMargins + sScaledTouchSlop;
-        int starLeft = mViewWidth - mCoordinates.starWidthIncludingMargins - sScaledTouchSlop;
+        int checkRight = mCoordinates.checkmarkX
+                + mCoordinates.checkmarkWidthIncludingMargins + sScaledTouchSlop;
+        int starLeft = mCoordinates.starX;
 
         switch (event.getAction()) {
             case MotionEvent.ACTION_DOWN:
diff --git a/src/com/android/email/activity/MessageListItemCoordinates.java b/src/com/android/email/activity/MessageListItemCoordinates.java
index 22f1a01..c961aa3 100644
--- a/src/com/android/email/activity/MessageListItemCoordinates.java
+++ b/src/com/android/email/activity/MessageListItemCoordinates.java
@@ -17,8 +17,6 @@
 
 package com.android.email.activity;
 
-import com.android.email.R;
-
 import android.content.Context;
 import android.content.res.Resources;
 import android.graphics.Typeface;
@@ -31,6 +29,8 @@
 import android.view.ViewParent;
 import android.widget.TextView;
 
+import com.android.email.R;
+
 /**
  * Represents the coordinates of elements inside a CanvasConversationHeaderView
  * (eg, checkmark, star, subject, sender, labels, etc.) It will inflate a view,
@@ -42,11 +42,9 @@
     // Modes.
     public static final int WIDE_MODE = 0;
     public static final int NORMAL_MODE = 1;
-    public static final int NARROW_MODE = 2;
 
     // Static threshold.
     private static int MINIMUM_WIDTH_WIDE_MODE = -1;
-    private static int MINIMUM_WIDTH_NORMAL_MODE = -1;
     private static int[] CONVERSATION_HEIGHTS;
     private static int[] SUBJECT_LENGTHS;
 
@@ -59,14 +57,10 @@
     // Reply and forward state.
     int stateX;
     int stateY;
-    int stateWidthIncludingMargins;
-    int stateHeightIncludingMargins;
 
     // Star.
     int starX;
     int starY;
-    int starWidthIncludingMargins;
-    int starHeightIncludingMargins;
 
     // Senders.
     int sendersX;
@@ -121,17 +115,12 @@
      */
     public static int getMode(Context context, int width) {
         Resources res = context.getResources();
-        if (MINIMUM_WIDTH_NORMAL_MODE <= 0) {
+        if (MINIMUM_WIDTH_WIDE_MODE <= 0) {
             MINIMUM_WIDTH_WIDE_MODE = res.getDimensionPixelSize(R.dimen.minimum_width_wide_mode);
-            MINIMUM_WIDTH_NORMAL_MODE = res
-                    .getDimensionPixelSize(R.dimen.minimum_width_normal_mode);
         }
 
         // Choose the correct mode based on view width.
-        int mode = NARROW_MODE;
-        if (width > MINIMUM_WIDTH_NORMAL_MODE) {
-            mode = NORMAL_MODE;
-        }
+        int mode = NORMAL_MODE;
         if (width > MINIMUM_WIDTH_WIDE_MODE) {
             mode = WIDE_MODE;
         }
@@ -147,8 +136,6 @@
                 return R.layout.message_list_item_wide;
             case NORMAL_MODE:
                 return R.layout.message_list_item_normal;
-            case NARROW_MODE:
-                return R.layout.message_list_item_narrow;
             default:
                 throw new IllegalArgumentException("Unknown conversation header view mode " + mode);
         }
@@ -273,12 +260,10 @@
             View star = view.findViewById(R.id.star);
             coordinates.starX = getX(star);
             coordinates.starY = getY(star);
-            coordinates.starWidthIncludingMargins = getWidth(star, true);
 
             View state = view.findViewById(R.id.reply_state);
             coordinates.stateX = getX(state);
             coordinates.stateY = getY(state);
-            coordinates.stateWidthIncludingMargins = getWidth(state, true);
 
             TextView senders = (TextView) view.findViewById(R.id.senders);
             coordinates.sendersX = getX(senders);
@@ -287,8 +272,7 @@
             coordinates.sendersLineCount = getLineCount(senders);
             coordinates.sendersLineHeight = senders.getLineHeight();
             coordinates.sendersFontSize = (int) senders.getTextSize();
-            sPaint.setTextSize(coordinates.sendersFontSize);
-            coordinates.sendersAscent = (int) sPaint.ascent();
+            coordinates.sendersAscent = Math.round(senders.getPaint().ascent());
 
             TextView subject = (TextView) view.findViewById(R.id.subject);
             coordinates.subjectX = getX(subject);
@@ -297,8 +281,7 @@
             coordinates.subjectLineCount = getLineCount(subject);
             coordinates.subjectLineHeight = subject.getLineHeight();
             coordinates.subjectFontSize = (int) subject.getTextSize();
-            sPaint.setTextSize(coordinates.subjectFontSize);
-            coordinates.subjectAscent = (int) sPaint.ascent();
+            coordinates.subjectAscent = Math.round(subject.getPaint().ascent());
 
             View chip = view.findViewById(R.id.color_chip);
             coordinates.chipX = getX(chip);
@@ -310,8 +293,7 @@
             coordinates.dateXEnd = getX(date) + date.getWidth();
             coordinates.dateY = getY(date);
             coordinates.dateFontSize = (int) date.getTextSize();
-            sPaint.setTextSize(coordinates.dateFontSize);
-            coordinates.dateAscent = (int) sPaint.ascent();
+            coordinates.dateAscent = Math.round(date.getPaint().ascent());
 
             // The x-value is computed relative to the date.
             View paperclip = view.findViewById(R.id.paperclip);