use darker blue for 'pressed' state
But first, I had to prevent using a custom 'mSelected' state from
bypassing the usual selector. Now, the 'selected' state corresponds with
whether an item is in the selection set.
Bug: 8853914
Change-Id: I3b564c92d5e3697a10b70fe1af5e5ed9f56c3e15
diff --git a/res/drawable/conversation_read_selector.xml b/res/drawable/conversation_read_selector.xml
index cfd1c45..a1ca64a 100644
--- a/res/drawable/conversation_read_selector.xml
+++ b/res/drawable/conversation_read_selector.xml
@@ -17,7 +17,7 @@
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
- android:drawable="@drawable/list_checked_holo" />
+ android:drawable="@drawable/list_activated_holo" />
<item android:state_selected="true"
android:drawable="@drawable/list_checked_holo" />
<item android:state_activated="true"
diff --git a/res/drawable/conversation_unread_selector.xml b/res/drawable/conversation_unread_selector.xml
index 176af6a..e69b57c 100644
--- a/res/drawable/conversation_unread_selector.xml
+++ b/res/drawable/conversation_unread_selector.xml
@@ -17,7 +17,7 @@
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
- android:drawable="@drawable/list_checked_holo" />
+ android:drawable="@drawable/list_activated_holo" />
<item android:state_selected="true"
android:drawable="@drawable/list_checked_holo" />
<item android:state_activated="true"
diff --git a/src/com/android/mail/browse/ConversationItemView.java b/src/com/android/mail/browse/ConversationItemView.java
index c7c8257..7886fd5 100644
--- a/src/com/android/mail/browse/ConversationItemView.java
+++ b/src/com/android/mail/browse/ConversationItemView.java
@@ -629,6 +629,7 @@
if (mSelectedConversationSet != null) {
mSelected = mSelectedConversationSet.contains(mHeader.conversation);
}
+ setSelected(mSelected);
mHeader.gadgetMode = mGadgetMode;
final boolean isUnread = mHeader.unread;
@@ -1234,17 +1235,9 @@
private void updateBackground(boolean isUnread) {
final int background;
if (isUnread) {
- if (mSelected) {
- background = R.drawable.list_checked_holo;
- } else {
- background = R.drawable.conversation_unread_selector;
- }
+ background = R.drawable.conversation_unread_selector;
} else {
- if (mSelected) {
- background = R.drawable.list_checked_holo;
- } else {
- background = R.drawable.conversation_read_selector;
- }
+ background = R.drawable.conversation_read_selector;
}
setBackgroundResource(background);
}
@@ -1267,6 +1260,7 @@
public void toggleSelectedState() {
if (mHeader != null && mHeader.conversation != null) {
mSelected = !mSelected;
+ setSelected(mSelected);
Conversation conv = mHeader.conversation;
// Set the list position of this item in the conversation
SwipeableListView listView = getListView();