Snapshot title bar

 Bug: 4982126

Change-Id: I67931d39e3a3ce535b38197ebeee1651241d1a60
diff --git a/src/com/android/browser/TitleBar.java b/src/com/android/browser/TitleBar.java
index 4e93124..9848a39 100644
--- a/src/com/android/browser/TitleBar.java
+++ b/src/com/android/browser/TitleBar.java
@@ -51,6 +51,7 @@
     private AutologinBar mAutoLogin;
     private NavigationBarBase mNavBar;
     private boolean mUseQuickControls;
+    private SnapshotBar mSnapshotBar;
 
     //state
     private boolean mShowing;
@@ -75,6 +76,8 @@
         mAutoLogin.setTitleBar(this);
         mNavBar = (NavigationBarBase) findViewById(R.id.taburlbar);
         mNavBar.setTitleBar(this);
+        mSnapshotBar = (SnapshotBar) findViewById(R.id.snapshotbar);
+        mSnapshotBar.setTitleBar(this);
     }
 
     public BaseUi getUi() {
@@ -91,7 +94,7 @@
     }
 
     void setShowProgressOnly(boolean progress) {
-        if (progress && !inAutoLogin()) {
+        if (progress && !wantsToBeVisible()) {
             mNavBar.setVisibility(View.GONE);
         } else {
             mNavBar.setVisibility(View.VISIBLE);
@@ -208,7 +211,7 @@
             mInLoad = false;
             mNavBar.onProgressStopped();
             // check if needs to be hidden
-            if (!isEditingUrl() && !inAutoLogin()) {
+            if (!isEditingUrl() && !wantsToBeVisible()) {
                 hide();
                 if (mUseQuickControls) {
                     setShowProgressOnly(false);
@@ -286,7 +289,13 @@
         }
     }
 
-    public boolean inAutoLogin() {
+    public boolean wantsToBeVisible() {
+        return inAutoLogin()
+            || (mSnapshotBar.getVisibility() == View.VISIBLE
+                    && mSnapshotBar.isAnimating());
+    }
+
+    private boolean inAutoLogin() {
         return mAutoLogin.getVisibility() == View.VISIBLE;
     }
 
@@ -338,4 +347,15 @@
         return super.focusSearch(focused, dir);
     }
 
+    public void onTabDataChanged(Tab tab) {
+        mSnapshotBar.onTabDataChanged(tab);
+        if (tab.isSnapshot()) {
+            mSnapshotBar.setVisibility(VISIBLE);
+            mNavBar.setVisibility(GONE);
+        } else {
+            mSnapshotBar.setVisibility(GONE);
+            mNavBar.setVisibility(VISIBLE);
+        }
+    }
+
 }