summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeon Scroggins III <scroggo@google.com>2010-09-14 11:05:21 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-09-14 11:05:21 -0700
commit867c0465e9f5bd5da410fd9b721050d9e2c36c9c (patch)
treee61d9ae72d767a15c6ab807126ac149fbe076ffb
parent8bf09b6200101c050af76118e1980ac2ccf2a0c5 (diff)
parent430057dad085f3c3dbc386f127b1f5a10a9851da (diff)
downloadpackages_apps_Browser-867c0465e9f5bd5da410fd9b721050d9e2c36c9c.zip
packages_apps_Browser-867c0465e9f5bd5da410fd9b721050d9e2c36c9c.tar.gz
packages_apps_Browser-867c0465e9f5bd5da410fd9b721050d9e2c36c9c.tar.bz2
am 430057da: Fixes for changing the search engine.
Merge commit '430057dad085f3c3dbc386f127b1f5a10a9851da' into gingerbread * commit '430057dad085f3c3dbc386f127b1f5a10a9851da': Fixes for changing the search engine.
-rw-r--r--res/xml/browser_preferences.xml29
-rw-r--r--src/com/android/browser/BrowserActivity.java6
-rw-r--r--src/com/android/browser/search/DefaultSearchEngine.java8
-rw-r--r--src/com/android/browser/search/OpenSearchSearchEngine.java4
-rw-r--r--src/com/android/browser/search/SearchEngine.java7
5 files changed, 38 insertions, 16 deletions
diff --git a/res/xml/browser_preferences.xml b/res/xml/browser_preferences.xml
index fd994e8..501d8c1 100644
--- a/res/xml/browser_preferences.xml
+++ b/res/xml/browser_preferences.xml
@@ -98,20 +98,6 @@
android:hint="@string/http"
android:inputType="textUri|textMultiLine" />
- <!-- Entries and values in this list are set dynamically. -->
- <com.android.browser.search.SearchEnginePreference
- android:key="search_engine"
- android:title="@string/pref_content_search_engine"
- android:summary="@string/pref_content_search_engine_summary"
- android:dialogTitle="@string/pref_content_search_engine" />
-
- <CheckBoxPreference
- android:key="show_search_suggestions"
- android:defaultValue="true"
- android:title="@string/pref_content_show_search_suggestions"
- android:summaryOn="@string/pref_content_show_web_suggestions_summary_on"
- android:summaryOff="@string/pref_content_show_web_suggestions_summary_off" />
-
</PreferenceCategory>
<PreferenceCategory
@@ -206,6 +192,21 @@
<PreferenceCategory
android:title="@string/pref_extras_title">
+ <!-- Entries and values in this list are set dynamically. -->
+ <com.android.browser.search.SearchEnginePreference
+ android:key="search_engine"
+ android:title="@string/pref_content_search_engine"
+ android:defaultValue="google"
+ android:summary="@string/pref_content_search_engine_summary"
+ android:dialogTitle="@string/pref_content_search_engine" />
+
+ <CheckBoxPreference
+ android:key="show_search_suggestions"
+ android:defaultValue="true"
+ android:title="@string/pref_content_show_search_suggestions"
+ android:summaryOn="@string/pref_content_show_web_suggestions_summary_on"
+ android:summaryOff="@string/pref_content_show_web_suggestions_summary_off" />
+
<PreferenceScreen
android:key="website_settings"
android:title="@string/pref_extras_website_settings"
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java
index bab2082..e98ab43 100644
--- a/src/com/android/browser/BrowserActivity.java
+++ b/src/com/android/browser/BrowserActivity.java
@@ -1201,6 +1201,12 @@ public class BrowserActivity extends Activity
if (appSearchData == null) {
appSearchData = createGoogleSearchSourceBundle(GOOGLE_SEARCH_SOURCE_TYPE);
}
+
+ SearchEngine searchEngine = mSettings.getSearchEngine();
+ if (searchEngine != null && !searchEngine.supportsVoiceSearch()) {
+ appSearchData.putBoolean(SearchManager.DISABLE_VOICE_SEARCH, true);
+ }
+
super.startSearch(initialQuery, selectInitialQuery, appSearchData, globalSearch);
}
diff --git a/src/com/android/browser/search/DefaultSearchEngine.java b/src/com/android/browser/search/DefaultSearchEngine.java
index 42d274d..c939de7 100644
--- a/src/com/android/browser/search/DefaultSearchEngine.java
+++ b/src/com/android/browser/search/DefaultSearchEngine.java
@@ -67,9 +67,9 @@ public class DefaultSearchEngine implements SearchEngine {
String packageName = mSearchable.getSearchActivity().getPackageName();
// Use "google" as name to avoid showing Google twice (app + OpenSearch)
if ("com.google.android.googlequicksearchbox".equals(packageName)) {
- return "google";
+ return SearchEngine.GOOGLE;
} else if ("com.android.quicksearchbox".equals(packageName)) {
- return "google";
+ return SearchEngine.GOOGLE;
} else {
return packageName;
}
@@ -110,6 +110,10 @@ public class DefaultSearchEngine implements SearchEngine {
public void close() {
}
+ public boolean supportsVoiceSearch() {
+ return getName().equals(SearchEngine.GOOGLE);
+ }
+
@Override
public String toString() {
return "ActivitySearchEngine{" + mSearchable + "}";
diff --git a/src/com/android/browser/search/OpenSearchSearchEngine.java b/src/com/android/browser/search/OpenSearchSearchEngine.java
index e78a93c..3c1cd5b 100644
--- a/src/com/android/browser/search/OpenSearchSearchEngine.java
+++ b/src/com/android/browser/search/OpenSearchSearchEngine.java
@@ -196,6 +196,10 @@ public class OpenSearchSearchEngine implements SearchEngine {
mHttpClient.close();
}
+ public boolean supportsVoiceSearch() {
+ return getName().equals(SearchEngine.GOOGLE);
+ }
+
private boolean isNetworkConnected(Context context) {
NetworkInfo networkInfo = getActiveNetworkInfo(context);
return networkInfo != null && networkInfo.isConnected();
diff --git a/src/com/android/browser/search/SearchEngine.java b/src/com/android/browser/search/SearchEngine.java
index 3d24d2e..b7e1859 100644
--- a/src/com/android/browser/search/SearchEngine.java
+++ b/src/com/android/browser/search/SearchEngine.java
@@ -24,6 +24,9 @@ import android.os.Bundle;
*/
public interface SearchEngine {
+ // Used if the search engine is Google
+ static final String GOOGLE = "google";
+
/**
* Gets the unique name of this search engine.
*/
@@ -54,4 +57,8 @@ public interface SearchEngine {
*/
public void close();
+ /**
+ * Checks whether this search engine supports voice search.
+ */
+ public boolean supportsVoiceSearch();
}