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);