am 9d4e681d: Merge "clean up secure CVF" into jb-ub-mail-ur9

* commit '9d4e681d5e44b8f47fdee2f13fba02a34ae8315b':
  clean up secure CVF
diff --git a/res/layout/secure_conversation_view.xml b/res/layout/secure_conversation_view.xml
index 56679f2..da1dae3 100644
--- a/res/layout/secure_conversation_view.xml
+++ b/res/layout/secure_conversation_view.xml
@@ -26,21 +26,16 @@
             android:layout_width="match_parent"
             android:layout_height="match_parent"
             android:orientation="vertical">
-            <RelativeLayout android:id="@+id/header"
+            <include layout="@layout/conversation_view_header"
+                android:id="@+id/conv_header"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content" />
+
+            <include layout="@layout/conversation_message_header"
+                android:id="@+id/message_header"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:background="@android:color/white">
-                <include layout="@layout/conversation_view_header"
-                    android:id="@+id/conv_header"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content" />
-
-                <include layout="@layout/conversation_message_header"
-                    android:id="@+id/message_header"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_below="@id/conv_header" />
-            </RelativeLayout>
+                android:layout_below="@id/conv_header" />
             <!-- base WebView layer -->
             <WebView
                 android:id="@+id/webview"
@@ -54,12 +49,6 @@
                 android:visibility="gone" />
         </LinearLayout>
     </ScrollView>
-    <FrameLayout
-            android:id="@+id/conversation_topmost_overlay"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent">
-            <!-- TODO: scroll indicators go HERE on top of all other layers -->
-    </FrameLayout>
 
     <include layout="@layout/conversation_load_spinner"/>
 
diff --git a/src/com/android/mail/ui/AbstractConversationViewFragment.java b/src/com/android/mail/ui/AbstractConversationViewFragment.java
index 65718cb..12a605c 100644
--- a/src/com/android/mail/ui/AbstractConversationViewFragment.java
+++ b/src/com/android/mail/ui/AbstractConversationViewFragment.java
@@ -98,7 +98,6 @@
     protected String mBaseUri;
     protected Account mAccount;
     protected final Map<String, Address> mAddressCache = Maps.newHashMap();
-    protected boolean mEnableContentReadySignal;
     private MessageCursor mCursor;
     private Context mContext;
     /**
diff --git a/src/com/android/mail/ui/SecureConversationViewFragment.java b/src/com/android/mail/ui/SecureConversationViewFragment.java
index 99fc950..e19b5f6 100644
--- a/src/com/android/mail/ui/SecureConversationViewFragment.java
+++ b/src/com/android/mail/ui/SecureConversationViewFragment.java
@@ -21,9 +21,6 @@
 import android.database.Cursor;
 import android.net.Uri;
 import android.os.Bundle;
-import android.text.Html;
-import android.text.SpannedString;
-import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -45,7 +42,6 @@
 import com.android.mail.providers.Account;
 import com.android.mail.providers.Conversation;
 import com.android.mail.providers.Message;
-import com.android.mail.providers.UIProvider;
 import com.android.mail.utils.LogTag;
 import com.android.mail.utils.LogUtils;
 
@@ -100,12 +96,16 @@
         mConversationHeaderView.setCallbacks(this, this);
         mConversationHeaderView.setFoldersVisible(false);
         mConversationHeaderView.setSubject(mConversation.subject);
+        mMessageHeaderView.initialize(mDateBuilder, this, mAddressCache);
+        mMessageHeaderView.setExpandMode(MessageHeaderView.POPUP_MODE);
+        mMessageHeaderView.setMessageDetailsVisibility(View.VISIBLE);
         mMessageHeaderView.setContactInfoSource(getContactInfoSource());
         mMessageHeaderView.setCallbacks(this);
         mMessageHeaderView.setExpandable(false);
         mMessageHeaderView.setVeiledMatcher(
                 ((ControllableActivity) getActivity()).getAccountController()
                         .getVeiledAddressMatcher());
+        mMessageFooterView.initialize(getLoaderManager(), getFragmentManager());
         getLoaderManager().initLoader(MESSAGE_LOADER, null, getMessageLoaderCallbacks());
         showLoadingStatus();
     }
@@ -161,16 +161,6 @@
     }
 
     @Override
-    public void setMessageSpacerHeight(MessageHeaderItem item, int newSpacerHeight) {
-        // Do nothing.
-    }
-
-    @Override
-    public void setMessageExpanded(MessageHeaderItem item, int newSpacerHeight) {
-        // Do nothing.
-    }
-
-    @Override
     public void onConversationViewHeaderHeightChange(int newHeight) {
         // Do nothing.
     }
@@ -181,12 +171,26 @@
             return;
         }
         if (isUserVisible()) {
-            mScrollView.scrollTo(0, 0);
             onConversationSeen();
         }
     }
 
     @Override
+    public void setMessageSpacerHeight(MessageHeaderItem item, int newSpacerHeight) {
+        // Do nothing.
+    }
+
+    @Override
+    public void setMessageExpanded(MessageHeaderItem item, int newSpacerHeight) {
+        // Do nothing.
+    }
+
+    @Override
+    public void setMessageDetailsExpanded(MessageHeaderItem i, boolean expanded, int heightbefore) {
+        // Do nothing.
+    }
+
+    @Override
     public void showExternalResources(final Message msg) {
         mWebView.getSettings().setBlockNetworkImage(false);
     }
@@ -213,7 +217,7 @@
             // Activity is finishing, just bail.
             return;
         }
-        renderMessageBodies(newCursor, mEnableContentReadySignal);
+        renderMessageBodies(newCursor);
     }
 
     /**
@@ -221,35 +225,23 @@
      * blocks, a conversation header), and return an HTML document with spacer
      * divs inserted for all overlays.
      */
-    private void renderMessageBodies(MessageCursor messageCursor,
-            boolean enableContentReadySignal) {
-        final StringBuilder convHtml = new StringBuilder();
-        String content;
-        if (messageCursor.moveToFirst()) {
-            content = messageCursor.getString(UIProvider.MESSAGE_BODY_HTML_COLUMN);
-            if (TextUtils.isEmpty(content)) {
-                content = messageCursor.getString(UIProvider.MESSAGE_BODY_TEXT_COLUMN);
-                if (content != null) {
-                    content = Html.toHtml(new SpannedString(content));
-                }
-            }
-            convHtml.append(content);
-            mMessage = messageCursor.getMessage();
-            mWebView.getSettings().setBlockNetworkImage(!mMessage.alwaysShowImages);
-            mWebView.loadDataWithBaseURL(mBaseUri, convHtml.toString(), "text/html", "utf-8", null);
-            ConversationViewAdapter mAdapter = new ConversationViewAdapter(mActivity, null, null,
-                    null, null, null, null, null, null);
-            MessageHeaderItem item = mAdapter.newMessageHeaderItem(mMessage, true,
-                    mMessage.alwaysShowImages);
-            mMessageHeaderView.initialize(mDateBuilder, this, mAddressCache);
-            mMessageHeaderView.setExpandMode(MessageHeaderView.POPUP_MODE);
-            mMessageHeaderView.bind(item, false);
-            mMessageHeaderView.setMessageDetailsVisibility(View.VISIBLE);
-            if (mMessage.hasAttachments) {
-                mMessageFooterView.setVisibility(View.VISIBLE);
-                mMessageFooterView.initialize(getLoaderManager(), getFragmentManager());
-                mMessageFooterView.bind(item, false);
-            }
+    private void renderMessageBodies(MessageCursor messageCursor) {
+        if (!messageCursor.moveToFirst()) {
+            LogUtils.e(LOG_TAG, "unable to open message cursor");
+            return;
+        }
+        final ConversationMessage m = messageCursor.getMessage();
+        mMessage = messageCursor.getMessage();
+        mWebView.getSettings().setBlockNetworkImage(!mMessage.alwaysShowImages);
+        mWebView.loadDataWithBaseURL(mBaseUri, m.getBodyAsHtml(), "text/html", "utf-8", null);
+        final ConversationViewAdapter adapter = new ConversationViewAdapter(mActivity, null, null,
+                null, null, null, null, null, null);
+        final MessageHeaderItem item = adapter.newMessageHeaderItem(mMessage, true,
+                mMessage.alwaysShowImages);
+        mMessageHeaderView.bind(item, false);
+        if (mMessage.hasAttachments) {
+            mMessageFooterView.setVisibility(View.VISIBLE);
+            mMessageFooterView.bind(item, false);
         }
     }
 
@@ -262,8 +254,4 @@
         }
     }
 
-    @Override
-    public void setMessageDetailsExpanded(MessageHeaderItem i, boolean expanded, int heightbefore) {
-        // Do nothing.
-    }
 }