Fix NPE if message displayName is null

the spannable string builder assumes the given char sequence is non-null.
we now ensure that's always the case.

Change-Id: I12e7081e5348d797feab6ad17452b73a52feaf13
This commit is contained in:
Todd Kennedy 2011-06-02 15:27:48 -07:00
parent a202567a45
commit bc7cd16ec2
1 changed files with 6 additions and 5 deletions

View File

@ -400,9 +400,11 @@ public class EmailWidget implements RemoteViewsService.RemoteViewsFactory,
views.setInt(R.id.widget_message, "setBackgroundResource", drawableId);
// Add style to sender
SpannableStringBuilder from =
new SpannableStringBuilder(mCursor.getString(
EmailWidgetLoader.WIDGET_COLUMN_DISPLAY_NAME));
String cursorString =
mCursor.isNull(EmailWidgetLoader.WIDGET_COLUMN_DISPLAY_NAME)
? "" // an empty string
: mCursor.getString(EmailWidgetLoader.WIDGET_COLUMN_DISPLAY_NAME);
SpannableStringBuilder from = new SpannableStringBuilder(cursorString);
from.setSpan(
isUnread ? new StyleSpan(Typeface.BOLD) : new StyleSpan(Typeface.NORMAL), 0,
from.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
@ -419,8 +421,7 @@ public class EmailWidget implements RemoteViewsService.RemoteViewsFactory,
// Add style to subject/snippet
String subject = mCursor.getString(EmailWidgetLoader.WIDGET_COLUMN_SUBJECT);
String snippet = mCursor.getString(EmailWidgetLoader.WIDGET_COLUMN_SNIPPET);
CharSequence subjectAndSnippet =
getStyledSubjectSnippet(subject, snippet, !isUnread);
CharSequence subjectAndSnippet = getStyledSubjectSnippet(subject, snippet, !isUnread);
views.setTextViewText(R.id.widget_subject, subjectAndSnippet);
int messageFlags = mCursor.getInt(EmailWidgetLoader.WIDGET_COLUMN_FLAGS);