Add teaser for new conversation photo checkboxes.

The teaser shows up for the first time the user sees the conversation photos. If
they change to no photos, and later change back, the teaser comes back.

The teaser sits immediately in front of the first real conversation item (unless
other special views also try to have the same position behavior, in which case
the current implementation gives undefined behavior dependent upon which special
view is added to the adapter first).

Bug: 8772762
Change-Id: Ica79482f2a2eae0cf3409f6accb7ae5b0fc0fd45
diff --git a/src/com/android/mail/ui/ConversationListFragment.java b/src/com/android/mail/ui/ConversationListFragment.java
index 7e7fb55..8de5226 100644
--- a/src/com/android/mail/ui/ConversationListFragment.java
+++ b/src/com/android/mail/ui/ConversationListFragment.java
@@ -17,6 +17,8 @@
 
 package com.android.mail.ui;
 
+import com.google.common.collect.ImmutableList;
+
 import android.app.Activity;
 import android.app.ListFragment;
 import android.content.Context;
@@ -265,9 +267,10 @@
         final ConversationCursor conversationCursor = getConversationListCursor();
 
         final ConversationListHelper helper = mActivity.getConversationListHelper();
-        final List<ConversationSpecialItemView> specialItemViews =
-                helper != null ? helper.makeConversationListSpecialViews(getActivity(), mAccount,
-                        mActivity.getFolderListSelectionListener()) : null;
+        final List<ConversationSpecialItemView> specialItemViews = helper != null ?
+                ImmutableList.copyOf(helper.makeConversationListSpecialViews(
+                        getActivity(), mAccount, mActivity.getFolderListSelectionListener()))
+                : null;
         if (specialItemViews != null) {
             // Attach to the LoaderManager
             for (final ConversationSpecialItemView view : specialItemViews) {