Merge "Don't use a custom color for senders in notifications" into jb-ub-mail-ur8
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 648f6fe..8b50f2f 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -550,6 +550,15 @@
<item name="android:textSize">@dimen/senders_font_size</item>
</style>
+ <style name="NotificationSendersUnreadTextAppearance">
+ <item name="android:textSize">@dimen/senders_font_size</item>
+ <item name="android:textStyle">bold</item>
+ </style>
+
+ <style name="NotificationSendersReadTextAppearance">
+ <item name="android:textSize">@dimen/senders_font_size</item>
+ </style>
+
<style name="MessageInfoUnreadTextAppearance">
<item name="android:textSize">@dimen/senders_font_size</item>
<item name="android:textColor">@color/message_info_text_color</item>
diff --git a/src/com/android/mail/browse/SendersView.java b/src/com/android/mail/browse/SendersView.java
index 8a1f4c0..b6870a9 100644
--- a/src/com/android/mail/browse/SendersView.java
+++ b/src/com/android/mail/browse/SendersView.java
@@ -194,14 +194,27 @@
ArrayList<String> displayableSenderNames, ArrayList<String> displayableSenderEmails,
String account) {
getSenderResources(context);
+ format(context, conversationInfo, messageInfo, maxChars, styledSenders,
+ displayableSenderNames, displayableSenderEmails, account,
+ sUnreadStyleSpan, sReadStyleSpan);
+ }
+
+ public static void format(Context context, ConversationInfo conversationInfo,
+ String messageInfo, int maxChars, ArrayList<SpannableString> styledSenders,
+ ArrayList<String> displayableSenderNames, ArrayList<String> displayableSenderEmails,
+ String account, final TextAppearanceSpan notificationUnreadStyleSpan,
+ final CharacterStyle notificationReadStyleSpan) {
+ getSenderResources(context);
handlePriority(context, maxChars, messageInfo, conversationInfo, styledSenders,
- displayableSenderNames, displayableSenderEmails, account);
+ displayableSenderNames, displayableSenderEmails, account,
+ notificationUnreadStyleSpan, notificationReadStyleSpan);
}
public static void handlePriority(Context context, int maxChars, String messageInfoString,
ConversationInfo conversationInfo, ArrayList<SpannableString> styledSenders,
ArrayList<String> displayableSenderNames, ArrayList<String> displayableSenderEmails,
- String account) {
+ String account, final TextAppearanceSpan unreadStyleSpan,
+ final CharacterStyle readStyleSpan) {
boolean shouldAddPhotos = displayableSenderEmails != null;
int maxPriorityToInclude = -1; // inclusive
int numCharsUsed = messageInfoString.length(); // draft, number drafts,
@@ -263,7 +276,8 @@
Math.max(nameString.length() - numCharsToRemovePerWord, 0));
}
final int priority = currentMessage.priority;
- style = !currentMessage.read ? getUnreadStyleSpan() : getReadStyleSpan();
+ style = !currentMessage.read ? getWrappedStyleSpan(unreadStyleSpan)
+ : getWrappedStyleSpan(readStyleSpan);
if (priority <= maxPriorityToInclude) {
spannableDisplay = new SpannableString(nameString);
// Don't duplicate senders; leave the first instance, unless the
@@ -333,12 +347,8 @@
}
}
- private static CharacterStyle getUnreadStyleSpan() {
- return CharacterStyle.wrap(sUnreadStyleSpan);
- }
-
- private static CharacterStyle getReadStyleSpan() {
- return CharacterStyle.wrap(sReadStyleSpan);
+ private static CharacterStyle getWrappedStyleSpan(final CharacterStyle characterStyle) {
+ return CharacterStyle.wrap(characterStyle);
}
static String getMe(Context context) {
@@ -353,7 +363,7 @@
}
private static void formatDefault(ConversationItemViewModel header, String sendersString,
- Context context) {
+ Context context, final CharacterStyle readStyleSpan) {
getSenderResources(context);
// Clear any existing sender fragments; we must re-make all of them.
header.senderFragments.clear();
@@ -371,15 +381,23 @@
namesOnly[i] = display;
}
}
- generateSenderFragments(header, namesOnly);
+ generateSenderFragments(header, namesOnly, readStyleSpan);
}
- private static void generateSenderFragments(ConversationItemViewModel header, String[] names) {
+ private static void generateSenderFragments(ConversationItemViewModel header, String[] names,
+ final CharacterStyle readStyleSpan) {
header.sendersText = TextUtils.join(Address.ADDRESS_DELIMETER + " ", names);
- header.addSenderFragment(0, header.sendersText.length(), getReadStyleSpan(), true);
+ header.addSenderFragment(0, header.sendersText.length(), getWrappedStyleSpan(readStyleSpan),
+ true);
}
public static void formatSenders(ConversationItemViewModel header, Context context) {
- formatDefault(header, header.conversation.senders, context);
+ getSenderResources(context);
+ formatSenders(header, context, sReadStyleSpan);
+ }
+
+ public static void formatSenders(ConversationItemViewModel header, Context context,
+ final CharacterStyle readStyleSpan) {
+ formatDefault(header, header.conversation.senders, context, readStyleSpan);
}
}