diff options
author | Leon Scroggins III <scroggo@google.com> | 2010-09-14 10:57:37 -0400 |
---|---|---|
committer | android-build SharedAccount <android-build@sekiwake.mtv.corp.google.com> | 2010-09-16 13:31:53 -0700 |
commit | eac9ef2cd997e63f66610a61b50cd677a453d315 (patch) | |
tree | e16462149713617aecbd5cd4eb9588d9cec58854 | |
parent | d8e04940b0e08dd1895e9b47ccc27a07547d4acd (diff) | |
download | packages_apps_browser-eac9ef2cd997e63f66610a61b50cd677a453d315.zip packages_apps_browser-eac9ef2cd997e63f66610a61b50cd677a453d315.tar.gz packages_apps_browser-eac9ef2cd997e63f66610a61b50cd677a453d315.tar.bz2 |
Fixes for changing the search engine.
Provide a default value for the Select search engine preference.
Move the Select search engine preference into advanced settings.
When opening the SearchDialog with a SearchEngine other than
Google, add a flag to hide the voice search icon.
Depends on a change to frameworks/base.
Change-Id: I6da2e582789253b3c5ffac9fe1ad3732f99f28ea
-rw-r--r-- | res/xml/browser_preferences.xml | 29 | ||||
-rw-r--r-- | src/com/android/browser/BrowserActivity.java | 6 | ||||
-rw-r--r-- | src/com/android/browser/search/DefaultSearchEngine.java | 8 | ||||
-rw-r--r-- | src/com/android/browser/search/OpenSearchSearchEngine.java | 4 | ||||
-rw-r--r-- | src/com/android/browser/search/SearchEngine.java | 7 |
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 6f47788..5583466 100644 --- a/src/com/android/browser/BrowserActivity.java +++ b/src/com/android/browser/BrowserActivity.java @@ -1185,6 +1185,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(); } |