Remove second url bar

       Remove the overlay "fake" titlebar by telling the
       WebView where to render the embedded titlebar
       Simplify focus handling
       requires Ic979b641c8cc80acb83eeab49c4f700fc5c50e72
       in frameworks/base

Change-Id: I7896cd731949fdcc47cd18abfee5ef947b0e8cee
diff --git a/src/com/android/browser/PhoneUi.java b/src/com/android/browser/PhoneUi.java
index 4119c29..7463ca5 100644
--- a/src/com/android/browser/PhoneUi.java
+++ b/src/com/android/browser/PhoneUi.java
@@ -17,16 +17,12 @@
 package com.android.browser;
 
 import android.app.Activity;
-import android.content.Context;
-import android.graphics.PixelFormat;
 import android.util.Log;
 import android.view.ActionMode;
 import android.view.Gravity;
 import android.view.KeyEvent;
 import android.view.Menu;
 import android.view.View;
-import android.view.ViewGroup;
-import android.view.WindowManager;
 import android.webkit.WebView;
 
 /**
@@ -37,7 +33,6 @@
     private static final String LOGTAG = "PhoneUi";
 
     private TitleBar mTitleBar;
-    private TitleBar mFakeTitleBar;
     private ActiveTabsPage mActiveTabsPage;
 
     boolean mExtendedMenuOpen;
@@ -53,7 +48,6 @@
         // mTitleBar will be always be shown in the fully loaded mode on
         // phone
         mTitleBar.setProgress(100);
-        mFakeTitleBar = new TitleBar(mActivity, mUiController);
 
     }
 
@@ -90,7 +84,7 @@
 
     @Override
     public void onDestroy() {
-        hideFakeTitleBar();
+        hideTitleBar();
     }
 
     @Override
@@ -107,14 +101,14 @@
     public void onProgressChanged(Tab tab) {
         if (tab.inForeground()) {
             int progress = tab.getLoadProgress();
-            mFakeTitleBar.setProgress(progress);
+            mTitleBar.setProgress(progress);
             if (progress == 100) {
                 if (!mOptionsMenuOpen || !mExtendedMenuOpen) {
-                    hideFakeTitleBar();
+                    hideTitleBar();
                 }
             } else {
                 if (!mOptionsMenuOpen || mExtendedMenuOpen) {
-                    showFakeTitleBar();
+                    showTitleBar();
                 }
             }
         }
@@ -130,7 +124,7 @@
             Log.e(LOGTAG, "active tab with no webview detected");
             return;
         }
-        view.setEmbeddedTitleBar(getEmbeddedTitleBar());
+        view.setEmbeddedTitleBar(getTitleBar());
         if (tab.isInVoiceSearchMode()) {
             showVoiceTitleBar(tab.getVoiceDisplayTitle());
         } else {
@@ -140,57 +134,23 @@
     }
 
     @Override
-    protected void attachFakeTitleBar(WebView mainView) {
-        WindowManager manager = (WindowManager)
-                mActivity.getSystemService(Context.WINDOW_SERVICE);
-
-        // Add the title bar to the window manager so it can receive
-        // touches while the menu is up
-        WindowManager.LayoutParams params =
-                new WindowManager.LayoutParams(
-                        ViewGroup.LayoutParams.MATCH_PARENT,
-                        ViewGroup.LayoutParams.WRAP_CONTENT,
-                        WindowManager.LayoutParams.TYPE_APPLICATION,
-                        WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
-                        PixelFormat.TRANSLUCENT);
-        params.gravity = Gravity.TOP;
-        boolean atTop = mainView.getScrollY() == 0;
-        params.windowAnimations = atTop ? 0 : R.style.TitleBar;
-        manager.addView(mFakeTitleBar, params);
+    void showTitleBar() {
+        if (canShowTitleBar()) {
+            setTitleGravity(Gravity.TOP);
+            super.showTitleBar();
+        }
     }
 
     @Override
-    protected void hideFakeTitleBar() {
-        if (!isFakeTitleBarShowing()) return;
-        WindowManager.LayoutParams params =
-                (WindowManager.LayoutParams) mFakeTitleBar.getLayoutParams();
-        WebView mainView = mUiController.getCurrentWebView();
-        // Although we decided whether or not to animate based on the
-        // current
-        // scroll position, the scroll position may have changed since the
-        // fake title bar was displayed. Make sure it has the appropriate
-        // animation/lack thereof before removing.
-        params.windowAnimations =
-                mainView != null && mainView.getScrollY() == 0 ?
-                        0 : R.style.TitleBar;
-        WindowManager manager = (WindowManager) mActivity
-                .getSystemService(Context.WINDOW_SERVICE);
-        manager.updateViewLayout(mFakeTitleBar, params);
-        manager.removeView(mFakeTitleBar);
+    protected void hideTitleBar() {
+        if (isTitleBarShowing()) {
+            setTitleGravity(Gravity.NO_GRAVITY);
+            super.hideTitleBar();
+        }
     }
 
     @Override
-    protected boolean isFakeTitleBarShowing() {
-        return (mFakeTitleBar.getParent() != null);
-    }
-
-    @Override
-    protected TitleBarBase getFakeTitleBar() {
-        return mFakeTitleBar;
-    }
-
-    @Override
-    protected TitleBarBase getEmbeddedTitleBar() {
+    protected TitleBarBase getTitleBar() {
         return mTitleBar;
     }
 
@@ -200,7 +160,7 @@
     public void showActiveTabsPage() {
         mActiveTabsPage = new ActiveTabsPage(mActivity, mUiController);
         mTitleBar.setVisibility(View.GONE);
-        hideFakeTitleBar();
+        hideTitleBar();
         mContentView.addView(mActiveTabsPage, COVER_SCREEN_PARAMS);
         mActiveTabsPage.requestFocus();
     }
@@ -226,7 +186,7 @@
     public void onOptionsMenuOpened() {
         mOptionsMenuOpen = true;
         // options menu opened, show fake title bar
-        showFakeTitleBar();
+        showTitleBar();
     }
 
     @Override
@@ -234,32 +194,32 @@
         // Switching the menu to expanded view, so hide the
         // title bar.
         mExtendedMenuOpen = true;
-        hideFakeTitleBar();
+        hideTitleBar();
     }
 
     @Override
     public void onOptionsMenuClosed(boolean inLoad) {
         mOptionsMenuOpen = false;
         if (!inLoad) {
-            hideFakeTitleBar();
+            hideTitleBar();
         }
     }
 
     @Override
     public void onExtendedMenuClosed(boolean inLoad) {
         mExtendedMenuOpen = false;
-        showFakeTitleBar();
+        showTitleBar();
     }
 
     @Override
     public void onContextMenuCreated(Menu menu) {
-        hideFakeTitleBar();
+        hideTitleBar();
     }
 
     @Override
     public void onContextMenuClosed(Menu menu, boolean inLoad) {
         if (inLoad) {
-            showFakeTitleBar();
+            showTitleBar();
         }
     }
 
@@ -267,7 +227,7 @@
 
     @Override
     public void onActionModeStarted(ActionMode mode) {
-        hideFakeTitleBar();
+        hideTitleBar();
     }
 
     @Override