Fix crash when viewing pages offline on Tablets

Fixed multiple issues with Snapshot tabs on
tablets.
diff --git a/src/com/android/browser/BrowserSnapshotPage.java b/src/com/android/browser/BrowserSnapshotPage.java
index afa0269..c01691f 100644
--- a/src/com/android/browser/BrowserSnapshotPage.java
+++ b/src/com/android/browser/BrowserSnapshotPage.java
@@ -303,11 +303,6 @@
             }
             TextView title = (TextView) view.findViewById(R.id.title);
             title.setText(cursor.getString(SNAPSHOT_TITLE));
-            TextView size = (TextView) view.findViewById(R.id.size);
-            if (size != null) {
-                int stateLen = cursor.getInt(SNAPSHOT_VIEWSTATE_SIZE);
-                size.setText(String.format("%.2fMB", stateLen / 1024f / 1024f));
-            }
             long timestamp = cursor.getLong(SNAPSHOT_DATE_CREATED);
             TextView date = (TextView) view.findViewById(R.id.date);
             DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.SHORT);
diff --git a/src/com/android/browser/SnapshotBar.java b/src/com/android/browser/SnapshotBar.java
index cdaf3ef..eeb300b 100644
--- a/src/com/android/browser/SnapshotBar.java
+++ b/src/com/android/browser/SnapshotBar.java
@@ -82,6 +82,8 @@
                 new Observable.Observer() {
                     @Override
                     public void onChange(Object... params) {
+                        if (mTabText == null)
+                            return;
                         if ((Integer) params[0] > 9) {
                             mTabText.setTextSize(TypedValue.COMPLEX_UNIT_PX, mTabSwitcherCompressedTextSize);
                         } else {
@@ -133,7 +135,7 @@
             resetAnimation();
         }
 
-        if (mTabSwitcherInitialTextSize == 0) {
+        if (mTabSwitcherInitialTextSize == 0 && mTabText != null) {
             mTabSwitcherInitialTextSize = mTabText.getTextSize();
             mTabSwitcherCompressedTextSize = (float) (mTabSwitcherInitialTextSize / 1.2);
         }
@@ -203,6 +205,9 @@
             if (navBar instanceof NavigationBarPhone) {
                 ((NavigationBarPhone)navBar).showMenu(mOverflowMenu);
             }
+            else if (navBar instanceof  NavigationBarTablet) {
+                ((NavigationBarTablet)navBar).showMenu(mOverflowMenu);
+            }
         } else if (mToggleContainer == v && !mIsAnimating) {
             mIsAnimating = true;
             showDate();
@@ -250,13 +255,13 @@
     }
 
     public void setReadericonVisibility(int visibility) {
-        if (mReadericon.getVisibility() != visibility) {
+        if (mReadericon != null && mReadericon.getVisibility() != visibility) {
             mReadericon.setVisibility(visibility);
         }
     }
 
     public void setFaviconVisibility(int visibility) {
-        if (mFavicon.getVisibility() != visibility) {
+        if (mFavicon != null && mFavicon.getVisibility() != visibility) {
             mFavicon.setVisibility(visibility);
         }
     }
diff --git a/src/com/android/browser/TabBar.java b/src/com/android/browser/TabBar.java
index e446145..378557e 100644
--- a/src/com/android/browser/TabBar.java
+++ b/src/com/android/browser/TabBar.java
@@ -290,7 +290,8 @@
         public void setActivated(boolean selected) {
             mSelected = selected;
             mClose.setVisibility(mSelected ? View.VISIBLE : View.GONE);
-            mFaviconView.setVisibility(mSelected ? View.GONE : View.VISIBLE);
+            mFaviconView.setVisibility((mSelected || mTab.isSnapshot()) ?
+                    View.GONE : View.VISIBLE);
             mTitle.setTextAppearance(mActivity, mSelected ?
                     R.style.TabTitleSelected : R.style.TabTitleUnselected);
             setHorizontalFadingEdgeEnabled(!mSelected);