am 6bbeaaeb: Merge "Remove Folder.newUnsafeInstance" into jb-ub-mail-ur9
* commit '6bbeaaebc4d6111e4b327a7f7761047b89e20e01':
Remove Folder.newUnsafeInstance
diff --git a/src/com/android/mail/browse/ConversationViewHeader.java b/src/com/android/mail/browse/ConversationViewHeader.java
index 6d37dd0..3b34965 100644
--- a/src/com/android/mail/browse/ConversationViewHeader.java
+++ b/src/com/android/mail/browse/ConversationViewHeader.java
@@ -212,29 +212,27 @@
}
public void appendFolderSpans(SpannableStringBuilder sb) {
- for (Folder f : mFoldersSortedSet) {
- addSpan(sb, f);
+ for (final Folder f : mFoldersSortedSet) {
+ final int bgColor = Folder.getNonEmptyColor(f.bgColor, mDefaultBgColor);
+ final int fgColor = Folder.getNonEmptyColor(f.fgColor, mDefaultFgColor);
+ addSpan(sb, f.name, bgColor, fgColor);
}
if (mFoldersSortedSet.isEmpty()) {
- final Folder addLabel = Folder.newUnsafeInstance();
final Resources r = mContext.getResources();
- addLabel.name = r.getString(R.string.add_label);
- addLabel.bgColor = ""
- + r.getColor(R.color.conv_header_add_label_background);
- addLabel.fgColor = "" + r.getColor(R.color.conv_header_add_label_text);
- addSpan(sb, addLabel);
+ final String name = r.getString(R.string.add_label);
+ final int bgColor = r.getColor(R.color.conv_header_add_label_background);
+ final int fgColor = r.getColor(R.color.conv_header_add_label_text);
+ addSpan(sb, name, bgColor, fgColor);
}
}
- private void addSpan(SpannableStringBuilder sb, Folder folder) {
+ private void addSpan(SpannableStringBuilder sb, String name, int bgColor,
+ int fgColor) {
final int start = sb.length();
- sb.append(folder.name);
+ sb.append(name);
final int end = sb.length();
- final int fgColor = folder.getForegroundColor(mDefaultFgColor);
- final int bgColor = folder.getBackgroundColor(mDefaultBgColor);
-
sb.setSpan(new BackgroundColorSpan(bgColor), start, end,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
sb.setSpan(new ForegroundColorSpan(fgColor), start, end,
diff --git a/src/com/android/mail/providers/Folder.java b/src/com/android/mail/providers/Folder.java
index 928d6bb..a414f51 100644
--- a/src/com/android/mail/providers/Folder.java
+++ b/src/com/android/mail/providers/Folder.java
@@ -34,6 +34,7 @@
import com.android.mail.utils.LogTag;
import com.android.mail.utils.LogUtils;
import com.android.mail.utils.Utils;
+import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Objects;
import com.google.common.collect.ImmutableList;
@@ -354,10 +355,10 @@
/**
* Creates a new instance of a folder object that is <b>not</b> initialized. The caller is
- * expected to fill in the details. This resulting instance is not guaranteed to work
- * correctly, and might break functionality. Use at your own risk!!
+ * expected to fill in the details. Used only for testing.
* @return a new instance of an unsafe folder.
*/
+ @VisibleForTesting
public static Folder newUnsafeInstance() {
return new Folder();
}
@@ -473,11 +474,21 @@
}
public int getBackgroundColor(int defaultColor) {
- return TextUtils.isEmpty(bgColor) ? defaultColor : Integer.parseInt(bgColor);
+ return getNonEmptyColor(bgColor, defaultColor);
}
public int getForegroundColor(int defaultColor) {
- return TextUtils.isEmpty(fgColor) ? defaultColor : Integer.parseInt(fgColor);
+ return getNonEmptyColor(fgColor, defaultColor);
+ }
+
+ /**
+ * Returns the candidate color if non-emptyp, or the default if the candidate is empty
+ * @param candidate
+ * @return
+ */
+ public static int getNonEmptyColor(String candidate, int defaultColor) {
+ return TextUtils.isEmpty(candidate) ? defaultColor : Integer.parseInt(candidate);
+
}
/**
@@ -620,7 +631,7 @@
* all the fields.
*/
public static Folder getDeficientDisplayOnlyFolder(Cursor cursor) {
- Folder f = Folder.newUnsafeInstance();
+ Folder f = new Folder();
f.id = cursor.getInt(UIProvider.FOLDER_ID_COLUMN);
f.uri = Utils.getValidUri(cursor.getString(UIProvider.FOLDER_URI_COLUMN));
f.totalCount = cursor.getInt(UIProvider.FOLDER_TOTAL_COUNT_COLUMN);
diff --git a/src/com/android/mail/ui/FolderListFragment.java b/src/com/android/mail/ui/FolderListFragment.java
index e912bab..7ebea4a 100644
--- a/src/com/android/mail/ui/FolderListFragment.java
+++ b/src/com/android/mail/ui/FolderListFragment.java
@@ -728,7 +728,7 @@
/**
* Given an account, get the unreadCount from the FolderWatcher.
*
- * @param c Account to get inbox unread count from
+ * @param account Account to get inbox unread count from
* @return Default inbox unread count
*/
public int getInboxUnreadCount(Account account) {