18a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira/* 28a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira * Copyright (C) 2012 The Android Open Source Project 38a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira * 48a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira * Licensed under the Apache License, Version 2.0 (the "License"); 58a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira * you may not use this file except in compliance with the License. 68a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira * You may obtain a copy of the License at 78a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira * 88a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira * http://www.apache.org/licenses/LICENSE-2.0 98a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira * 108a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira * Unless required by applicable law or agreed to in writing, software 118a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira * distributed under the License is distributed on an "AS IS" BASIS, 128a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 138a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira * See the License for the specific language governing permissions and 148a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira * limitations under the License. 158a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira */ 168a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira 178a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereirapackage com.android.mail.widget; 188a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira 198a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereiraimport android.content.Context; 20a839fd0af18f53574128e32dc0900339280fba05Andrew Sappersteinimport android.content.res.Resources; 218a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereiraimport android.graphics.Bitmap; 22a839fd0af18f53574128e32dc0900339280fba05Andrew Sappersteinimport android.graphics.BitmapFactory; 238a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereiraimport android.graphics.Typeface; 248a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereiraimport android.text.Spannable; 258a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereiraimport android.text.SpannableStringBuilder; 26a839fd0af18f53574128e32dc0900339280fba05Andrew Sappersteinimport android.text.style.AbsoluteSizeSpan; 270a612a52a6691cd5d80a5d33a7e7d6ceb0fdf97eJames Lemieuximport android.text.style.CharacterStyle; 28a839fd0af18f53574128e32dc0900339280fba05Andrew Sappersteinimport android.text.style.ForegroundColorSpan; 298a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereiraimport android.text.style.StyleSpan; 308a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereiraimport android.view.View; 318a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereiraimport android.widget.RemoteViews; 328a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira 33be0cb1e421831672f49c30ecb46e6eee765cb661Andrew Sappersteinimport com.android.mail.R; 34be0cb1e421831672f49c30ecb46e6eee765cb661Andrew Sappersteinimport com.android.mail.providers.Conversation; 35be0cb1e421831672f49c30ecb46e6eee765cb661Andrew Sappersteinimport com.android.mail.providers.Folder; 36be0cb1e421831672f49c30ecb46e6eee765cb661Andrew Sappersteinimport com.android.mail.ui.FolderDisplayer; 37be0cb1e421831672f49c30ecb46e6eee765cb661Andrew Sappersteinimport com.android.mail.utils.FolderUri; 38be0cb1e421831672f49c30ecb46e6eee765cb661Andrew Sapperstein 39747e678d20e99ddd17953ff4530d2ee3f1c6cfc7Mark Weipublic class WidgetConversationListItemViewBuilder { 40a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein // Static colors 4160590466acfd8eda61ddfdb9e17fe9ff33bdd26cJames Lemieux private static int SUBJECT_TEXT_COLOR_READ; 4260590466acfd8eda61ddfdb9e17fe9ff33bdd26cJames Lemieux private static int SUBJECT_TEXT_COLOR_UNREAD; 43928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux private static int SNIPPET_TEXT_COLOR; 441c6d71b47e7af11b3cf7bd6da4a89594941be968James Lemieux private static int DATE_TEXT_COLOR_READ; 451c6d71b47e7af11b3cf7bd6da4a89594941be968James Lemieux private static int DATE_TEXT_COLOR_UNREAD; 46a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein 47a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein // Static bitmap 48a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein private static Bitmap ATTACHMENT; 498a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira 50a4968036e4384431de74b96d43a40faaeecf053eMindy Pereira private WidgetFolderDisplayer mFolderDisplayer; 518a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira 526fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira /** 536fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira * Label Displayer for Widget 546fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira */ 556fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira protected static class WidgetFolderDisplayer extends FolderDisplayer { 566fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira public WidgetFolderDisplayer(Context context) { 576fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira super(context); 586fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira } 596fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira 606fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira // Maximum number of folders we want to display 616fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira private static final int MAX_DISPLAYED_FOLDERS_COUNT = 3; 626fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira 636fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira /* 646fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira * Load Conversation Labels 656fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira */ 666fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira @Override 67259df5b9e11908c8ef7c91483924891dd96b3c27Scott Kennedy public void loadConversationFolders(Conversation conv, final FolderUri ignoreFolderUri, 6867aa9e5162a15fb8b46b4113ac627cd20668f095Scott Kennedy final int ignoreFolderType) { 6967aa9e5162a15fb8b46b4113ac627cd20668f095Scott Kennedy super.loadConversationFolders(conv, ignoreFolderUri, ignoreFolderType); 706fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira } 716fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira 72b39aaf53a555c1046ef31b3fecf15d086acca013Scott Kennedy private static int getFolderViewId(int position) { 736fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira switch (position) { 746fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira case 0: 756fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira return R.id.widget_folder_0; 766fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira case 1: 776fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira return R.id.widget_folder_1; 786fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira case 2: 796fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira return R.id.widget_folder_2; 806fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira } 816fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira return 0; 826fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira } 836fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira 846fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira /** 856fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira * Display folders 866fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira */ 876fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira public void displayFolders(RemoteViews remoteViews) { 886fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira int displayedFolder = 0; 896fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira for (Folder folderValues : mFoldersSortedSet) { 906fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira int viewId = getFolderViewId(displayedFolder); 916fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira if (viewId == 0) { 926fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira continue; 936fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira } 946fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira remoteViews.setViewVisibility(viewId, View.VISIBLE); 955edf5fd7327691b73dcb57c3cba340fd25576d18Jin Cao int color[] = new int[] 965edf5fd7327691b73dcb57c3cba340fd25576d18Jin Cao {folderValues.getBackgroundColor(mFolderDrawableResources.defaultBgColor)}; 976fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira Bitmap bitmap = Bitmap.createBitmap(color, 1, 1, Bitmap.Config.RGB_565); 986fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira remoteViews.setImageViewBitmap(viewId, bitmap); 996fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira 1006fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira if (++displayedFolder == MAX_DISPLAYED_FOLDERS_COUNT) { 1016fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira break; 1026fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira } 1036fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira } 1046fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira 1056fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira for (int i = displayedFolder; i < MAX_DISPLAYED_FOLDERS_COUNT; i++) { 1066fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira remoteViews.setViewVisibility(getFolderViewId(i), View.GONE); 1076fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira } 1086fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira } 1096fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira } 1106fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira 1118a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira /* 1128a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira * Get font sizes and bitmaps from Resources 1138a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira */ 114747e678d20e99ddd17953ff4530d2ee3f1c6cfc7Mark Wei public WidgetConversationListItemViewBuilder(Context context) { 115928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux final Resources res = context.getResources(); 116a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein 117a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein // Initialize colors 11860590466acfd8eda61ddfdb9e17fe9ff33bdd26cJames Lemieux SUBJECT_TEXT_COLOR_READ = res.getColor(R.color.subject_text_color_read); 11960590466acfd8eda61ddfdb9e17fe9ff33bdd26cJames Lemieux SUBJECT_TEXT_COLOR_UNREAD = res.getColor(R.color.subject_text_color_unread); 120928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux SNIPPET_TEXT_COLOR = res.getColor(R.color.snippet_text_color); 1211c6d71b47e7af11b3cf7bd6da4a89594941be968James Lemieux DATE_TEXT_COLOR_READ = res.getColor(R.color.date_text_color_read); 1221c6d71b47e7af11b3cf7bd6da4a89594941be968James Lemieux DATE_TEXT_COLOR_UNREAD = res.getColor(R.color.date_text_color_unread); 123a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein 124a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein // Initialize Bitmap 125091484627a207de3fceea8727439082b022748aeJames Lemieux ATTACHMENT = BitmapFactory.decodeResource(res, R.drawable.ic_attach_file_18dp); 126a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein } 127a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein 128a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein /* 129a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein * Add size, color and style to a given text 130a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein */ 131ff35c4d206132d389cc5b77c488bd1fd41926e4dJames Lemieux private static SpannableStringBuilder addStyle(CharSequence text, int size, int color) { 132ff35c4d206132d389cc5b77c488bd1fd41926e4dJames Lemieux final SpannableStringBuilder builder = new SpannableStringBuilder(text); 133a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein builder.setSpan( 134a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein new AbsoluteSizeSpan(size), 0, text.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 135a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein if (color != 0) { 136a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein builder.setSpan(new ForegroundColorSpan(color), 0, text.length(), 137a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 138a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein } 139a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein return builder; 1408a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira } 1418a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira 1428a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira /* 1438a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira * Return the full View 1448a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira */ 145928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux public RemoteViews getStyledView(final Context context, final CharSequence date, 146928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux final Conversation conversation, final FolderUri folderUri, final int ignoreFolderType, 14794033deeb31df739a27fce15887a3f0a2e808b12James Lemieux final SpannableStringBuilder senders, String subject) { 1488a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira 14985c4a77abd849f5f3f0236d51554bb1bb99fe8f6Mindy Pereira final boolean isUnread = !conversation.read; 150747e678d20e99ddd17953ff4530d2ee3f1c6cfc7Mark Wei final String snippet = conversation.getSnippet(); 151747e678d20e99ddd17953ff4530d2ee3f1c6cfc7Mark Wei final boolean hasAttachments = conversation.hasAttachments; 152928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux final Resources res = context.getResources(); 153928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux final int dateFontSize = res.getDimensionPixelSize(R.dimen.widget_date_font_size); 154928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux final int subjectFontSize = res.getDimensionPixelSize(R.dimen.widget_subject_font_size); 1558a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira 156a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein // Add style to date 1571c6d71b47e7af11b3cf7bd6da4a89594941be968James Lemieux final int dateColor = isUnread ? DATE_TEXT_COLOR_UNREAD : DATE_TEXT_COLOR_READ; 158ff35c4d206132d389cc5b77c488bd1fd41926e4dJames Lemieux final SpannableStringBuilder dateBuilder = addStyle(date, dateFontSize, dateColor); 159ff35c4d206132d389cc5b77c488bd1fd41926e4dJames Lemieux if (isUnread) { 160ff35c4d206132d389cc5b77c488bd1fd41926e4dJames Lemieux dateBuilder.setSpan(new StyleSpan(Typeface.BOLD), 0, date.length(), 161ff35c4d206132d389cc5b77c488bd1fd41926e4dJames Lemieux Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 162ff35c4d206132d389cc5b77c488bd1fd41926e4dJames Lemieux } 163a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein 16494033deeb31df739a27fce15887a3f0a2e808b12James Lemieux subject = Conversation.getSubjectForDisplay(context, null /* badgeText */, subject); 16564f56828a81ad7e29cad3a254a6ecdc05c9284e8James Lemieux final SpannableStringBuilder subjectBuilder = new SpannableStringBuilder(subject); 1668a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira if (isUnread) { 16794033deeb31df739a27fce15887a3f0a2e808b12James Lemieux subjectBuilder.setSpan(new StyleSpan(Typeface.BOLD), 0, subject.length(), 1688a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 1698a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira } 17060590466acfd8eda61ddfdb9e17fe9ff33bdd26cJames Lemieux final int subjectColor = isUnread ? SUBJECT_TEXT_COLOR_UNREAD : SUBJECT_TEXT_COLOR_READ; 17160590466acfd8eda61ddfdb9e17fe9ff33bdd26cJames Lemieux final CharacterStyle subjectStyle = new ForegroundColorSpan(subjectColor); 1720a612a52a6691cd5d80a5d33a7e7d6ceb0fdf97eJames Lemieux subjectBuilder.setSpan(subjectStyle, 0, subjectBuilder.length(), 1730a612a52a6691cd5d80a5d33a7e7d6ceb0fdf97eJames Lemieux Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 174928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux final CharSequence styledSubject = addStyle(subjectBuilder, subjectFontSize, 0); 175928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux 176928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux final SpannableStringBuilder snippetBuilder = new SpannableStringBuilder(snippet); 177928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux snippetBuilder.setSpan(new ForegroundColorSpan(SNIPPET_TEXT_COLOR), 0, 178928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux snippetBuilder.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 179928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux final CharSequence styledSnippet = addStyle(snippetBuilder, subjectFontSize, 0); 180a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein 181a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein // Paper clip for attachment 182a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein Bitmap paperclipBitmap = null; 183a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein if (hasAttachments) { 184a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein paperclipBitmap = ATTACHMENT; 185a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein } 1868a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira 1878a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira // Inflate and fill out the remote view 188747e678d20e99ddd17953ff4530d2ee3f1c6cfc7Mark Wei final RemoteViews remoteViews = new RemoteViews( 189928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux context.getPackageName(), R.layout.widget_conversation_list_item); 190178ac28d19065ceca8b293e13cf291d685080aa6Mindy Pereira remoteViews.setTextViewText(R.id.widget_senders, senders); 191ff35c4d206132d389cc5b77c488bd1fd41926e4dJames Lemieux remoteViews.setTextViewText(R.id.widget_date, dateBuilder); 192a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein remoteViews.setTextViewText(R.id.widget_subject, styledSubject); 193928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux remoteViews.setTextViewText(R.id.widget_snippet, styledSnippet); 194a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein if (paperclipBitmap != null) { 195a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein remoteViews.setViewVisibility(R.id.widget_attachment, View.VISIBLE); 196a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein remoteViews.setImageViewBitmap(R.id.widget_attachment, paperclipBitmap); 197a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein } else { 198a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein remoteViews.setViewVisibility(R.id.widget_attachment, View.GONE); 199a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein } 2008a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira if (isUnread) { 2018a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira remoteViews.setViewVisibility(R.id.widget_unread_background, View.VISIBLE); 2028a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira remoteViews.setViewVisibility(R.id.widget_read_background, View.GONE); 2038a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira } else { 2048a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira remoteViews.setViewVisibility(R.id.widget_unread_background, View.GONE); 2058a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira remoteViews.setViewVisibility(R.id.widget_read_background, View.VISIBLE); 2068a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira } 207928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux if (context.getResources().getBoolean(R.bool.display_folder_colors_in_widget)) { 208928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux mFolderDisplayer = new WidgetFolderDisplayer(context); 20967aa9e5162a15fb8b46b4113ac627cd20668f095Scott Kennedy mFolderDisplayer.loadConversationFolders(conversation, folderUri, ignoreFolderType); 210a4968036e4384431de74b96d43a40faaeecf053eMindy Pereira mFolderDisplayer.displayFolders(remoteViews); 211a4968036e4384431de74b96d43a40faaeecf053eMindy Pereira } 2128a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira 2138a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira return remoteViews; 2148a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira } 2158a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira} 216