Enable voice search

       http://b/issue?id=3039695
       send voice search intent
       implement voice search title bar
       also fixes another Urlbar focus handling bug

Change-Id: Icdcbec9ffff586d445545cc7fe86ca045022f381
diff --git a/src/com/android/browser/XLargeUi.java b/src/com/android/browser/XLargeUi.java
index 30180aa..69e6724 100644
--- a/src/com/android/browser/XLargeUi.java
+++ b/src/com/android/browser/XLargeUi.java
@@ -46,7 +46,9 @@
         super(browser, controller);
         mTitleBar = new TitleBarXLarge(mActivity, mUiController, this);
         mTitleBar.setProgress(100);
+        mTitleBar.setEditable(false);
         mFakeTitleBar = new TitleBarXLarge(mActivity, mUiController, this);
+        mFakeTitleBar.setEditable(true);
         ActionBar actionBar = mActivity.getActionBar();
         mTabBar = new TabBar(mActivity, mUiController, this);
         actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
@@ -218,4 +220,26 @@
         mTabBar.onFavicon(tab, icon);
     }
 
+    @Override
+    public void showVoiceTitleBar(String title) {
+        List<String> vsresults = null;
+        if (getActiveTab() != null) {
+            vsresults = getActiveTab().getVoiceSearchResults();
+        }
+        mTitleBar.setInVoiceMode(true, null);
+        mTitleBar.setDisplayTitle(title);
+        mFakeTitleBar.setInVoiceMode(true, vsresults);
+        mFakeTitleBar.setDisplayTitle(title);
+    }
+
+    @Override
+    public void revertVoiceTitleBar(Tab tab) {
+        mTitleBar.setInVoiceMode(false, null);
+        String url = tab.getCurrentUrl();
+        mTitleBar.setDisplayTitle(url);
+        mFakeTitleBar.setInVoiceMode(false, null);
+        mFakeTitleBar.setDisplayTitle(url);
+    }
+
+
 }