WidgetConversationListItemViewBuilder.java revision be0cb1e421831672f49c30ecb46e6eee765cb661
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;
208a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereiraimport android.content.res.Resources;
218a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereiraimport android.graphics.Bitmap;
228a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereiraimport android.graphics.BitmapFactory;
238a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereiraimport android.graphics.Typeface;
248a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereiraimport android.text.Spannable;
258a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereiraimport android.text.SpannableStringBuilder;
268a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereiraimport android.text.style.AbsoluteSizeSpan;
278a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereiraimport android.text.style.ForegroundColorSpan;
288a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereiraimport android.text.style.StyleSpan;
298a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereiraimport android.view.View;
308a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereiraimport android.widget.RemoteViews;
318a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira
32be0cb1e421831672f49c30ecb46e6eee765cb661Andrew Sappersteinimport com.android.mail.R;
33be0cb1e421831672f49c30ecb46e6eee765cb661Andrew Sappersteinimport com.android.mail.providers.Conversation;
34be0cb1e421831672f49c30ecb46e6eee765cb661Andrew Sappersteinimport com.android.mail.providers.Folder;
35be0cb1e421831672f49c30ecb46e6eee765cb661Andrew Sappersteinimport com.android.mail.ui.FolderDisplayer;
36be0cb1e421831672f49c30ecb46e6eee765cb661Andrew Sappersteinimport com.android.mail.utils.FolderUri;
37be0cb1e421831672f49c30ecb46e6eee765cb661Andrew Sapperstein
38747e678d20e99ddd17953ff4530d2ee3f1c6cfc7Mark Weipublic class WidgetConversationListItemViewBuilder {
398a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira    // Static font sizes
408a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira    private static int DATE_FONT_SIZE;
418a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira    private static int SUBJECT_FONT_SIZE;
428a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira
438a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira    // Static colors
448a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira    private static int SUBJECT_TEXT_COLOR_READ;
458a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira    private static int SUBJECT_TEXT_COLOR_UNREAD;
46418336e902eb91bd69371dbb3aebc0396a658d0fMindy Pereira    private static int DATE_TEXT_COLOR;
4724538e893ef2db41a4c1b341f676b64422920304Mindy Pereira
488a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira    // Static bitmap
498a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira    private static Bitmap ATTACHMENT;
508a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira
518a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira    private final Context mContext;
52a4968036e4384431de74b96d43a40faaeecf053eMindy Pereira    private WidgetFolderDisplayer mFolderDisplayer;
538a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira
546fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira    /**
556fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira     * Label Displayer for Widget
566fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira     */
576fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira    protected static class WidgetFolderDisplayer extends FolderDisplayer {
586fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira        public WidgetFolderDisplayer(Context context) {
596fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira            super(context);
606fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira        }
616fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira
626fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira        // Maximum number of folders we want to display
636fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira        private static final int MAX_DISPLAYED_FOLDERS_COUNT = 3;
646fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira
656fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira        /*
666fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira         * Load Conversation Labels
676fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira         */
686fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira        @Override
69259df5b9e11908c8ef7c91483924891dd96b3c27Scott Kennedy        public void loadConversationFolders(Conversation conv, final FolderUri ignoreFolderUri,
7067aa9e5162a15fb8b46b4113ac627cd20668f095Scott Kennedy                final int ignoreFolderType) {
7167aa9e5162a15fb8b46b4113ac627cd20668f095Scott Kennedy            super.loadConversationFolders(conv, ignoreFolderUri, ignoreFolderType);
726fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira        }
736fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira
74b39aaf53a555c1046ef31b3fecf15d086acca013Scott Kennedy        private static int getFolderViewId(int position) {
756fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira            switch (position) {
766fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira                case 0:
776fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira                    return R.id.widget_folder_0;
786fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira                case 1:
796fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira                    return R.id.widget_folder_1;
806fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira                case 2:
816fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira                    return R.id.widget_folder_2;
826fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira            }
836fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira            return 0;
846fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira        }
856fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira
866fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira        /**
876fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira         * Display folders
886fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira         */
896fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira        public void displayFolders(RemoteViews remoteViews) {
906fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira            int displayedFolder = 0;
916fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira            for (Folder folderValues : mFoldersSortedSet) {
926fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira                int viewId = getFolderViewId(displayedFolder);
936fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira                if (viewId == 0) {
946fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira                    continue;
956fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira                }
966fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira                remoteViews.setViewVisibility(viewId, View.VISIBLE);
976fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira                int color[] = new int[] {folderValues.getBackgroundColor(mDefaultBgColor)};
986fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira                Bitmap bitmap = Bitmap.createBitmap(color, 1, 1, Bitmap.Config.RGB_565);
996fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira                remoteViews.setImageViewBitmap(viewId, bitmap);
1006fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira
1016fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira                if (++displayedFolder == MAX_DISPLAYED_FOLDERS_COUNT) {
1026fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira                    break;
1036fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira                }
1046fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira            }
1056fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira
1066fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira            for (int i = displayedFolder; i < MAX_DISPLAYED_FOLDERS_COUNT; i++) {
1076fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira                remoteViews.setViewVisibility(getFolderViewId(i), View.GONE);
1086fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira            }
1096fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira        }
1106fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira    }
1116fe3cb987c44fd67e3094fff99769846d8adb8a8Mindy Pereira
1128a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira    /*
1138a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira     * Get font sizes and bitmaps from Resources
1148a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira     */
115747e678d20e99ddd17953ff4530d2ee3f1c6cfc7Mark Wei    public WidgetConversationListItemViewBuilder(Context context) {
1168a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        mContext = context;
1178a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        Resources res = context.getResources();
1188a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira
1198a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        // Initialize font sizes
1208a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        DATE_FONT_SIZE = res.getDimensionPixelSize(R.dimen.widget_date_font_size);
1218a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        SUBJECT_FONT_SIZE = res.getDimensionPixelSize(R.dimen.widget_subject_font_size);
1228a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira
1238a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        // Initialize colors
1248a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        SUBJECT_TEXT_COLOR_READ = res.getColor(R.color.subject_text_color_read);
1258a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        SUBJECT_TEXT_COLOR_UNREAD = res.getColor(R.color.subject_text_color_unread);
126418336e902eb91bd69371dbb3aebc0396a658d0fMindy Pereira        DATE_TEXT_COLOR = res.getColor(R.color.date_text_color);
12724538e893ef2db41a4c1b341f676b64422920304Mindy Pereira
1288a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        // Initialize Bitmap
1298a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        ATTACHMENT = BitmapFactory.decodeResource(res, R.drawable.ic_attachment_holo_light);
1308a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira    }
1318a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira
1328a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira    /*
1338a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira     * Add size, color and style to a given text
1348a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira     */
135b39aaf53a555c1046ef31b3fecf15d086acca013Scott Kennedy    private static CharSequence addStyle(CharSequence text, int size, int color) {
1368a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        SpannableStringBuilder builder = new SpannableStringBuilder(text);
1378a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        builder.setSpan(
1388a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira                new AbsoluteSizeSpan(size), 0, text.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
1398a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        if (color != 0) {
1408a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira            builder.setSpan(new ForegroundColorSpan(color), 0, text.length(),
1418a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
1428a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        }
1438a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        return builder;
1448a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira    }
1458a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira
1468a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira    /*
1478a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira     * Return the full View
1488a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira     */
149747e678d20e99ddd17953ff4530d2ee3f1c6cfc7Mark Wei    public RemoteViews getStyledView(final CharSequence date, final Conversation conversation,
150259df5b9e11908c8ef7c91483924891dd96b3c27Scott Kennedy            final FolderUri folderUri, final int ignoreFolderType,
151747e678d20e99ddd17953ff4530d2ee3f1c6cfc7Mark Wei            final SpannableStringBuilder senders, final String filteredSubject) {
1528a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira
15385c4a77abd849f5f3f0236d51554bb1bb99fe8f6Mindy Pereira        final boolean isUnread = !conversation.read;
154747e678d20e99ddd17953ff4530d2ee3f1c6cfc7Mark Wei        final String snippet = conversation.getSnippet();
155747e678d20e99ddd17953ff4530d2ee3f1c6cfc7Mark Wei        final boolean hasAttachments = conversation.hasAttachments;
1568a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira
1578a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        // Add style to date
158747e678d20e99ddd17953ff4530d2ee3f1c6cfc7Mark Wei        final CharSequence styledDate = addStyle(date, DATE_FONT_SIZE, DATE_TEXT_COLOR);
1598a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira
1608a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        // Add style to subject
161747e678d20e99ddd17953ff4530d2ee3f1c6cfc7Mark Wei        final int subjectColor = isUnread ? SUBJECT_TEXT_COLOR_UNREAD : SUBJECT_TEXT_COLOR_READ;
162747e678d20e99ddd17953ff4530d2ee3f1c6cfc7Mark Wei        final SpannableStringBuilder subjectAndSnippet = new SpannableStringBuilder(
163be0cb1e421831672f49c30ecb46e6eee765cb661Andrew Sapperstein                Conversation.getSubjectAndSnippetForDisplay(
164be0cb1e421831672f49c30ecb46e6eee765cb661Andrew Sapperstein                        mContext, null /* badgeText */, filteredSubject, snippet));
1658a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        if (isUnread) {
166bf9508d3877d05742b2f5d23e1780366d3e1aa2eMindy Pereira            subjectAndSnippet.setSpan(new StyleSpan(Typeface.BOLD), 0, filteredSubject.length(),
1678a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
1688a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        }
1698a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        subjectAndSnippet.setSpan(new ForegroundColorSpan(subjectColor), 0, subjectAndSnippet
1708a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira                .length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
171747e678d20e99ddd17953ff4530d2ee3f1c6cfc7Mark Wei        final CharSequence styledSubject = addStyle(subjectAndSnippet, SUBJECT_FONT_SIZE, 0);
1728a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira
1738a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        // Paper clip for attachment
1748a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        Bitmap paperclipBitmap = null;
1758a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        if (hasAttachments) {
1768a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira            paperclipBitmap = ATTACHMENT;
1778a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        }
1788a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira
1798a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        // Inflate and fill out the remote view
180747e678d20e99ddd17953ff4530d2ee3f1c6cfc7Mark Wei        final RemoteViews remoteViews = new RemoteViews(
181747e678d20e99ddd17953ff4530d2ee3f1c6cfc7Mark Wei                mContext.getPackageName(), R.layout.widget_conversation_list_item);
182178ac28d19065ceca8b293e13cf291d685080aa6Mindy Pereira        remoteViews.setTextViewText(R.id.widget_senders, senders);
1838a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        remoteViews.setTextViewText(R.id.widget_date, styledDate);
1848a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        remoteViews.setTextViewText(R.id.widget_subject, styledSubject);
1858a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        if (paperclipBitmap != null) {
1868a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira            remoteViews.setViewVisibility(R.id.widget_attachment, View.VISIBLE);
1878a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira            remoteViews.setImageViewBitmap(R.id.widget_attachment, paperclipBitmap);
1888a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        } else {
1898a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira            remoteViews.setViewVisibility(R.id.widget_attachment, View.GONE);
1908a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        }
1918a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        if (isUnread) {
1928a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira            remoteViews.setViewVisibility(R.id.widget_unread_background, View.VISIBLE);
1938a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira            remoteViews.setViewVisibility(R.id.widget_read_background, View.GONE);
1948a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        } else {
1958a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira            remoteViews.setViewVisibility(R.id.widget_unread_background, View.GONE);
1968a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira            remoteViews.setViewVisibility(R.id.widget_read_background, View.VISIBLE);
1978a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        }
198a4968036e4384431de74b96d43a40faaeecf053eMindy Pereira        if (mContext.getResources().getBoolean(R.bool.display_folder_colors_in_widget)) {
199a4968036e4384431de74b96d43a40faaeecf053eMindy Pereira            mFolderDisplayer = new WidgetFolderDisplayer(mContext);
20067aa9e5162a15fb8b46b4113ac627cd20668f095Scott Kennedy            mFolderDisplayer.loadConversationFolders(conversation, folderUri, ignoreFolderType);
201a4968036e4384431de74b96d43a40faaeecf053eMindy Pereira            mFolderDisplayer.displayFolders(remoteViews);
202a4968036e4384431de74b96d43a40faaeecf053eMindy Pereira        }
2038a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira
2048a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira        return remoteViews;
2058a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira    }
2068a8c50d8fcc4f20549c9f395edbad017a940e72bMindy Pereira}
207