WidgetConversationListItemViewBuilder.java revision 0a612a52a6691cd5d80a5d33a7e7d6ceb0fdf97e
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 410a612a52a6691cd5d80a5d33a7e7d6ceb0fdf97eJames Lemieux private static int SUBJECT_TEXT_COLOR_READ; 420a612a52a6691cd5d80a5d33a7e7d6ceb0fdf97eJames 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); 956fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira int color[] = new int[] {folderValues.getBackgroundColor(mDefaultBgColor)}; 966fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira Bitmap bitmap = Bitmap.createBitmap(color, 1, 1, Bitmap.Config.RGB_565); 976fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira remoteViews.setImageViewBitmap(viewId, bitmap); 986fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira 996fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira if (++displayedFolder == MAX_DISPLAYED_FOLDERS_COUNT) { 1006fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira break; 1016fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira } 1026fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira } 1036fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira 1046fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira for (int i = displayedFolder; i < MAX_DISPLAYED_FOLDERS_COUNT; i++) { 1056fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira remoteViews.setViewVisibility(getFolderViewId(i), View.GONE); 1066fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira } 1076fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira } 1086fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira } 1096fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira 1108a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira /* 1118a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira * Get font sizes and bitmaps from Resources 1128a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira */ 113747e678d20e99ddd17953ff4530d2ee3f1c6cfc7Mark Wei public WidgetConversationListItemViewBuilder(Context context) { 114928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux final Resources res = context.getResources(); 115a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein 116a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein // Initialize colors 1170a612a52a6691cd5d80a5d33a7e7d6ceb0fdf97eJames Lemieux SUBJECT_TEXT_COLOR_READ = res.getColor(R.color.subject_text_color_read); 1180a612a52a6691cd5d80a5d33a7e7d6ceb0fdf97eJames Lemieux SUBJECT_TEXT_COLOR_UNREAD = res.getColor(R.color.subject_text_color_unread); 119928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux SNIPPET_TEXT_COLOR = res.getColor(R.color.snippet_text_color); 1201c6d71b47e7af11b3cf7bd6da4a89594941be968James Lemieux DATE_TEXT_COLOR_READ = res.getColor(R.color.date_text_color_read); 1211c6d71b47e7af11b3cf7bd6da4a89594941be968James Lemieux DATE_TEXT_COLOR_UNREAD = res.getColor(R.color.date_text_color_unread); 122a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein 123a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein // Initialize Bitmap 12426407717f0b20021f369be52dab0f2ac3a93e673Andrew Sapperstein ATTACHMENT = BitmapFactory.decodeResource(res, R.drawable.ic_attach_file_20dp); 125a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein } 126a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein 127a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein /* 128a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein * Add size, color and style to a given text 129a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein */ 130a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein private static CharSequence addStyle(CharSequence text, int size, int color) { 131a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein SpannableStringBuilder builder = new SpannableStringBuilder(text); 132a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein builder.setSpan( 133a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein new AbsoluteSizeSpan(size), 0, text.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 134a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein if (color != 0) { 135a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein builder.setSpan(new ForegroundColorSpan(color), 0, text.length(), 136a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 137a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein } 138a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein return builder; 1398a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira } 1408a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira 1418a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira /* 1428a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira * Return the full View 1438a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira */ 144928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux public RemoteViews getStyledView(final Context context, final CharSequence date, 145928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux final Conversation conversation, final FolderUri folderUri, final int ignoreFolderType, 14694033deeb31df739a27fce15887a3f0a2e808b12James Lemieux final SpannableStringBuilder senders, String subject) { 1478a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira 14885c4a77abd849f5f3f0236d51554bb1bb99fe8f6Mindy Pereira final boolean isUnread = !conversation.read; 149747e678d20e99ddd17953ff4530d2ee3f1c6cfc7Mark Wei final String snippet = conversation.getSnippet(); 150747e678d20e99ddd17953ff4530d2ee3f1c6cfc7Mark Wei final boolean hasAttachments = conversation.hasAttachments; 151928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux final Resources res = context.getResources(); 152928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux final int dateFontSize = res.getDimensionPixelSize(R.dimen.widget_date_font_size); 153928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux final int subjectFontSize = res.getDimensionPixelSize(R.dimen.widget_subject_font_size); 1548a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira 155a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein // Add style to date 1561c6d71b47e7af11b3cf7bd6da4a89594941be968James Lemieux final int dateColor = isUnread ? DATE_TEXT_COLOR_UNREAD : DATE_TEXT_COLOR_READ; 157928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux final CharSequence styledDate = addStyle(date, dateFontSize, dateColor); 158a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein 15994033deeb31df739a27fce15887a3f0a2e808b12James Lemieux subject = Conversation.getSubjectForDisplay(context, null /* badgeText */, subject); 16064f56828a81ad7e29cad3a254a6ecdc05c9284e8James Lemieux final SpannableStringBuilder subjectBuilder = new SpannableStringBuilder(subject); 1618a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira if (isUnread) { 16294033deeb31df739a27fce15887a3f0a2e808b12James Lemieux subjectBuilder.setSpan(new StyleSpan(Typeface.BOLD), 0, subject.length(), 1638a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 1648a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira } 1650a612a52a6691cd5d80a5d33a7e7d6ceb0fdf97eJames Lemieux final CharacterStyle subjectStyle = new ForegroundColorSpan( 1660a612a52a6691cd5d80a5d33a7e7d6ceb0fdf97eJames Lemieux isUnread ? SUBJECT_TEXT_COLOR_UNREAD : SUBJECT_TEXT_COLOR_READ); 1670a612a52a6691cd5d80a5d33a7e7d6ceb0fdf97eJames Lemieux subjectBuilder.setSpan(subjectStyle, 0, subjectBuilder.length(), 1680a612a52a6691cd5d80a5d33a7e7d6ceb0fdf97eJames Lemieux Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 169928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux final CharSequence styledSubject = addStyle(subjectBuilder, subjectFontSize, 0); 170928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux 171928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux final SpannableStringBuilder snippetBuilder = new SpannableStringBuilder(snippet); 172928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux snippetBuilder.setSpan(new ForegroundColorSpan(SNIPPET_TEXT_COLOR), 0, 173928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux snippetBuilder.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 174928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux final CharSequence styledSnippet = addStyle(snippetBuilder, subjectFontSize, 0); 175a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein 176a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein // Paper clip for attachment 177a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein Bitmap paperclipBitmap = null; 178a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein if (hasAttachments) { 179a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein paperclipBitmap = ATTACHMENT; 180a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein } 1818a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira 1828a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira // Inflate and fill out the remote view 183747e678d20e99ddd17953ff4530d2ee3f1c6cfc7Mark Wei final RemoteViews remoteViews = new RemoteViews( 184928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux context.getPackageName(), R.layout.widget_conversation_list_item); 185178ac28d19065ceca8b293e13cf291d685080aa6Mindy Pereira remoteViews.setTextViewText(R.id.widget_senders, senders); 186a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein remoteViews.setTextViewText(R.id.widget_date, styledDate); 187a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein remoteViews.setTextViewText(R.id.widget_subject, styledSubject); 188928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux remoteViews.setTextViewText(R.id.widget_snippet, styledSnippet); 189a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein if (paperclipBitmap != null) { 190a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein remoteViews.setViewVisibility(R.id.widget_attachment, View.VISIBLE); 191a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein remoteViews.setImageViewBitmap(R.id.widget_attachment, paperclipBitmap); 192a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein } else { 193a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein remoteViews.setViewVisibility(R.id.widget_attachment, View.GONE); 194a839fd0af18f53574128e32dc0900339280fba05Andrew Sapperstein } 1958a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira if (isUnread) { 1968a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira remoteViews.setViewVisibility(R.id.widget_unread_background, View.VISIBLE); 1978a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira remoteViews.setViewVisibility(R.id.widget_read_background, View.GONE); 1988a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira } else { 1998a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira remoteViews.setViewVisibility(R.id.widget_unread_background, View.GONE); 2008a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira remoteViews.setViewVisibility(R.id.widget_read_background, View.VISIBLE); 2018a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira } 202928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux if (context.getResources().getBoolean(R.bool.display_folder_colors_in_widget)) { 203928308d6b10d353493492ad05e0227f960ddaa7eJames Lemieux mFolderDisplayer = new WidgetFolderDisplayer(context); 20467aa9e5162a15fb8b46b4113ac627cd20668f095Scott Kennedy mFolderDisplayer.loadConversationFolders(conversation, folderUri, ignoreFolderType); 205a4968036e4384431de74b96d43a40faaeecf053eMindy Pereira mFolderDisplayer.displayFolders(remoteViews); 206a4968036e4384431de74b96d43a40faaeecf053eMindy Pereira } 2078a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira 2088a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira return remoteViews; 2098a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira } 2108a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira} 211