fix action bar and menu

    Bug: 5077207
    Bug: 5097486
    cleaned up action bar items
    dynamically change menu items based on context
    bookmarks option added to nav bar menu
    new tab added to navbar menu
    find/addbookmark only on real pages
    removed new incognito tab from tab switcher action bar

Change-Id: I973f20a13bb7d9900041f717aff012e7a2c735b8
diff --git a/src/com/android/browser/PhoneUi.java b/src/com/android/browser/PhoneUi.java
index 853d935..901f5bd 100644
--- a/src/com/android/browser/PhoneUi.java
+++ b/src/com/android/browser/PhoneUi.java
@@ -164,11 +164,32 @@
 
     @Override
     public boolean onPrepareOptionsMenu(Menu menu) {
-        menu.setGroupVisible(R.id.NAV_MENU, (mNavScreen == null));
+        updateMenuState(mActiveTab, menu);
         return true;
     }
 
     @Override
+    public void updateMenuState(Tab tab, Menu menu) {
+        menu.setGroupVisible(R.id.NAV_MENU, (mNavScreen == null));
+        MenuItem bm = menu.findItem(R.id.bookmarks_menu_id);
+        if (bm != null) {
+            bm.setVisible(mNavScreen == null);
+        }
+        MenuItem nt = menu.findItem(R.id.new_tab_menu_id);
+        if (nt != null) {
+            nt.setVisible(mNavScreen == null);
+        }
+        MenuItem find = menu.findItem(R.id.find_menu_id);
+        if (find != null) {
+            find.setVisible(((tab != null) && !tab.isSnapshot()));
+        }
+        MenuItem abm = menu.findItem(R.id.add_bookmark_menu_id);
+        if (abm != null) {
+            abm.setVisible((tab != null) && !tab.isSnapshot());
+        }
+    }
+
+    @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         if (mNavScreen != null) {
             hideNavScreen(false);