Clear voice search mode when changing search engines.
Not all search engines support voice search. Also, different
search engines may support them differently. So if we are
already in voice search mode when the search engine changes,
exit the mode.
Change-Id: I8d3f200f4829ad1383d554214c9d56d5c0b96aed
diff --git a/src/com/android/browser/BrowserSettings.java b/src/com/android/browser/BrowserSettings.java
index 6263eb3..92b4cac 100644
--- a/src/com/android/browser/BrowserSettings.java
+++ b/src/com/android/browser/BrowserSettings.java
@@ -305,6 +305,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);