Updates fragment dejunk

- Reuse stream item views.  Simplified the view layout for this.
(In this CL we still inflate views, rather than creating them in code.
Even without doing that performance now seems good enough.)

- Decode HTML into CharSequence in ContactLoader
- Removed ContactTileImageContainer and created
LayoutSuppressingImageView and LayoutSuppressingQuickContactBadge

Bug 5982899

Change-Id: I5cbd816a290a50fca9a964b921d934061915aee1
diff --git a/res/layout/stream_item_container.xml b/res/layout/stream_item_container.xml
index de4f87d..903f6b0 100644
--- a/res/layout/stream_item_container.xml
+++ b/res/layout/stream_item_container.xml
@@ -21,23 +21,56 @@
     android:paddingLeft="@dimen/detail_update_section_side_padding"
     android:paddingRight="@dimen/detail_update_section_side_padding">
 
+    <!-- Clickable area -->
     <LinearLayout
         android:id="@+id/stream_item_content"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:paddingLeft="@dimen/detail_update_section_item_horizontal_padding"
-        android:paddingRight="@dimen/detail_update_section_item_horizontal_padding"
-        android:paddingTop="@dimen/detail_update_section_item_vertical_padding"
-        android:paddingBottom="@dimen/detail_update_section_item_vertical_padding"
         android:background="?android:attr/selectableItemBackground"
-        android:layout_gravity="center_vertical"
         android:orientation="vertical"
-        />
+        >
+
+        <!-- Images -->
+        <LinearLayout
+            android:id="@+id/stream_item_image_rows"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:paddingLeft="@dimen/detail_update_section_item_horizontal_padding"
+            android:paddingRight="@dimen/detail_update_section_item_horizontal_padding"
+            android:paddingTop="@dimen/detail_update_section_item_vertical_padding"
+            android:paddingBottom="@dimen/detail_update_section_between_items_vertical_padding"
+            android:layout_gravity="center_vertical"
+            android:orientation="vertical"
+            >
+        </LinearLayout>
+
+        <!-- Text -->
+        <TextView android:id="@+id/stream_item_html"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:textSize="16sp"
+            android:textColor="?android:attr/textColorPrimary" />
+        <TextView android:id="@+id/stream_item_attribution"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textAppearance="?android:attr/textAppearanceSmall"
+            android:textColor="?android:attr/textColorSecondary"
+            android:ellipsize="end"
+            android:maxLines="1" />
+        <TextView android:id="@+id/stream_item_comments"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="@dimen/detail_update_section_attribution_comments_padding"
+            android:textAppearance="?android:attr/textAppearanceSmall"
+            android:textColor="?android:attr/textColorSecondary"
+            android:maxLines="1"/>
+    </LinearLayout>
 
     <View
         android:id="@+id/horizontal_divider"
         android:layout_width="match_parent"
         android:layout_height="1px"
+        android:layout_marginTop="@dimen/detail_update_section_item_vertical_padding"
         android:background="?android:attr/dividerHorizontal"
         android:layout_gravity="bottom" />