Show incognito and saved page icons in urlbar

 Bug: 5162768

Change-Id: I02e521bd4c9de62166e3029437b105e669902797
diff --git a/res/layout/title_bar_nav.xml b/res/layout/title_bar_nav.xml
index b22d1a2..fc299d9 100644
--- a/res/layout/title_bar_nav.xml
+++ b/res/layout/title_bar_nav.xml
@@ -25,6 +25,13 @@
         android:layout_height="match_parent"
         android:gravity="center_vertical"
         android:orientation="horizontal">
+        <ImageView
+            android:id="@+id/incognito_icon"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:paddingLeft="8dip"
+            android:visibility="gone"
+            android:src="@drawable/ic_incognito_holo_dark" />
         <FrameLayout
             android:id="@+id/iconcombo"
             android:layout_width="52dip"
@@ -58,7 +65,6 @@
             android:layout_width="0dip"
             android:layout_weight="1.0"
             android:layout_height="match_parent"
-            android:paddingLeft="8dip"
             android:fadingEdge="horizontal"
             android:fadingEdgeLength="24dip"
             android:textAppearance="?android:attr/textAppearanceMedium"
diff --git a/res/layout/title_bar_snapshot.xml b/res/layout/title_bar_snapshot.xml
index a5569c1..9d9d7c9 100644
--- a/res/layout/title_bar_snapshot.xml
+++ b/res/layout/title_bar_snapshot.xml
@@ -18,19 +18,24 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="horizontal"
     android:background="@drawable/bg_urlbar">
+    <ImageView
+        android:src="@drawable/ic_search_category_history"
+        android:layout_width="wrap_content"
+        android:layout_height="match_parent"
+        android:paddingLeft="8dip" />
     <ImageButton
         android:id="@+id/favicon"
-        android:layout_width="42dip"
+        android:layout_width="52dip"
         android:layout_height="match_parent"
         android:paddingLeft="16dip"
+        android:paddingRight="16dip"
         android:scaleType="fitCenter"
         style="@style/HoloButton" />
     <FrameLayout
         android:id="@+id/toggle_container"
         android:layout_width="0dip"
         android:layout_height="match_parent"
-        android:layout_weight="1"
-        android:paddingLeft="8dip">
+        android:layout_weight="1">
         <TextView
             android:id="@+id/title"
             android:layout_width="match_parent"
@@ -38,23 +43,13 @@
             android:singleLine="true"
             android:gravity="center_vertical"
             android:textAppearance="?android:attr/textAppearanceMedium" />
-        <LinearLayout
-            android:id="@+id/date_container"
+        <TextView
+            android:id="@+id/date"
             android:layout_width="wrap_content"
-            android:layout_height="match_parent">
-            <ImageView
-                android:src="@drawable/ic_search_category_history"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent" />
-            <TextView
-                android:id="@+id/date"
-                android:layout_width="wrap_content"
-                android:layout_height="match_parent"
-                android:paddingLeft="8dip"
-                android:singleLine="true"
-                android:gravity="center_vertical"
-                android:textAppearance="?android:attr/textAppearanceMedium" />
-         </LinearLayout>
+            android:layout_height="match_parent"
+            android:singleLine="true"
+            android:gravity="center_vertical"
+            android:textAppearance="?android:attr/textAppearanceMedium" />
     </FrameLayout>
     <ImageButton
         android:id="@+id/tab_switcher"
diff --git a/src/com/android/browser/BaseUi.java b/src/com/android/browser/BaseUi.java
index b5497d5..6f87463 100644
--- a/src/com/android/browser/BaseUi.java
+++ b/src/com/android/browser/BaseUi.java
@@ -194,6 +194,7 @@
         updateLockIconToLatest(tab);
         updateNavigationState(tab);
         mTitleBar.onTabDataChanged(tab);
+        mNavigationBar.onTabDataChanged(tab);
     }
 
     @Override
diff --git a/src/com/android/browser/NavigationBarBase.java b/src/com/android/browser/NavigationBarBase.java
index 94d6530..cbf6eba 100644
--- a/src/com/android/browser/NavigationBarBase.java
+++ b/src/com/android/browser/NavigationBarBase.java
@@ -353,4 +353,7 @@
         return mUaSwitcherShowing;
     }
 
+    public void onTabDataChanged(Tab tab) {
+    }
+
 }
diff --git a/src/com/android/browser/NavigationBarPhone.java b/src/com/android/browser/NavigationBarPhone.java
index 0cb0764..ff7dc7c 100644
--- a/src/com/android/browser/NavigationBarPhone.java
+++ b/src/com/android/browser/NavigationBarPhone.java
@@ -47,6 +47,7 @@
     private PopupMenu mPopupMenu;
     private boolean mOverflowMenuShowing;
     private boolean mNeedsMenu;
+    private View mIncognitoIcon;
 
     public NavigationBarPhone(Context context) {
         super(context);
@@ -84,6 +85,7 @@
         mUrlInput.setContainer(this);
         mUrlInput.setStateListener(this);
         mNeedsMenu = !ViewConfiguration.get(getContext()).hasPermanentMenuKey();
+        mIncognitoIcon = findViewById(R.id.incognito_icon);
     }
 
     @Override
@@ -240,4 +242,12 @@
             break;
         }
     }
+
+    @Override
+    public void onTabDataChanged(Tab tab) {
+        super.onTabDataChanged(tab);
+        mIncognitoIcon.setVisibility(tab.isPrivateBrowsingEnabled()
+                ? View.VISIBLE : View.GONE);
+    }
+
 }
diff --git a/src/com/android/browser/SnapshotBar.java b/src/com/android/browser/SnapshotBar.java
index ba0bf98..039afcf 100644
--- a/src/com/android/browser/SnapshotBar.java
+++ b/src/com/android/browser/SnapshotBar.java
@@ -21,13 +21,12 @@
 import android.os.Message;
 import android.text.TextUtils;
 import android.util.AttributeSet;
-import android.view.View;
-import android.view.View.OnClickListener;
 import android.view.Menu;
 import android.view.MenuItem;
+import android.view.View;
+import android.view.View.OnClickListener;
 import android.view.ViewConfiguration;
 import android.view.ViewPropertyAnimator;
-import android.webkit.WebView;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.PopupMenu;
@@ -55,7 +54,6 @@
     private boolean mIsAnimating;
     private ViewPropertyAnimator mTitleAnimator, mDateAnimator;
     private float mAnimRadius = 20f;
-    private View mDateContainer;
 
     public SnapshotBar(Context context) {
         super(context);
@@ -98,7 +96,6 @@
         mTabSwitcher = findViewById(R.id.tab_switcher);
         mOverflowMenu = findViewById(R.id.more);
         mToggleContainer = findViewById(R.id.toggle_container);
-        mDateContainer = findViewById(R.id.date_container);
 
         if (mBookmarks != null) {
             mBookmarks.setOnClickListener(this);
@@ -145,9 +142,9 @@
         mTitle.setAlpha(1f);
         mTitle.setTranslationY(0f);
         mTitle.setRotationX(0f);
-        mDateContainer.setAlpha(0f);
-        mDateContainer.setTranslationY(-mAnimRadius);
-        mDateContainer.setRotationX(90f);
+        mDate.setAlpha(0f);
+        mDate.setTranslationY(-mAnimRadius);
+        mDate.setRotationX(90f);
     }
 
     private void showDate() {
@@ -155,7 +152,7 @@
                 .alpha(0f)
                 .translationY(mAnimRadius)
                 .rotationX(-90f);
-        mDateAnimator = mDateContainer.animate()
+        mDateAnimator = mDate.animate()
                 .alpha(1f)
                 .translationY(0f)
                 .rotationX(0f);
@@ -166,7 +163,7 @@
                 .alpha(1f)
                 .translationY(0f)
                 .rotationX(0f);
-        mDateAnimator = mDateContainer.animate()
+        mDateAnimator = mDate.animate()
                 .alpha(0f)
                 .translationY(-mAnimRadius)
                 .rotationX(90f);