am 27d0bddf: Merge "Don\'t use a custom color for senders in notifications" into jb-ub-mail-ur8

* commit '27d0bddfb93d10c7836de15742f6bc526de850b0':
  Don't use a custom color for senders in notifications
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);
     }
 }