am 0ba7b925: am 680ee91f: am 95d9bfd1: Clear voice search mode when changing search engines.

Merge commit '0ba7b925618a9e6e7e6f601119b9849527d9ee39'

* commit '0ba7b925618a9e6e7e6f601119b9849527d9ee39':
  Clear voice search mode when changing search engines.
diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/browser/BrowserSettings.java
index b949fc1..e748174 100644
--- a/src/com/android/browser/BrowserSettings.java
+++ b/src/com/android/browser/BrowserSettings.java
@@ -325,6 +325,14 @@
         String searchEngineName = p.getString(PREF_SEARCH_ENGINE, null);
         if (searchEngine == null || !searchEngine.getName().equals(searchEngineName)) {
             if (searchEngine != null) {
+                if (searchEngine.supportsVoiceSearch()) {
+                    // One or more tabs could have been in voice search mode.
+                    // Clear it, since the new SearchEngine may not support
+                    // it, or may handle it differently.
+                    for (int i = 0; i < mTabControl.getTabCount(); i++) {
+                        mTabControl.getTab(i).revertVoiceSearchMode();
+                    }
+                }
                 searchEngine.close();
             }
             searchEngine = SearchEngines.get(ctx, searchEngineName);
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index 11f8566..54f3088 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -166,6 +166,17 @@
      */
     private VoiceSearchData mVoiceSearchData;
     /**
+     * Remove voice search mode from this tab.
+     */
+    public void revertVoiceSearchMode() {
+        if (mVoiceSearchData != null) {
+            mVoiceSearchData = null;
+            if (mInForeground) {
+                mActivity.revertVoiceTitleBar();
+            }
+        }
+    }
+    /**
      * Return whether the tab is in voice search mode.
      */
     public boolean isInVoiceSearchMode() {
@@ -458,10 +469,7 @@
                     i.putExtra(LoggingEvents.EXTRA_FLUSH, true);
                     mActivity.sendBroadcast(i);
                 }
-                mVoiceSearchData = null;
-                if (mInForeground) {
-                    mActivity.revertVoiceTitleBar();
-                }
+                revertVoiceSearchMode();
             }
 
             // We've started to load a new page. If there was a pending message