EnhancedGoogleSearch overrides GoogleSearch if present.

This is to fix bug http://b/issue?id=1929993. If user had GoogleSearch
earlier and that was the default, it will get overridden by
EnhancedGoogleSearch when the user installs the latter from the market.
This commit is contained in:
Satish Sampath
2009-06-23 17:05:35 +01:00
parent 1bee98af65
commit 41282a3556

View File

@@ -57,6 +57,11 @@ public class Searchables {
private SearchableInfo mDefaultSearchable = null;
private SearchableInfo mDefaultSearchableForWebSearch = null;
public static String GOOGLE_SEARCH_COMPONENT_NAME =
"com.android.googlesearch/.GoogleSearch";
public static String ENHANCED_GOOGLE_SEARCH_COMPONENT_NAME =
"com.google.android.providers.enhancedgooglesearch/.Launcher";
/**
*
* @param context Context to use for looking up activities etc.
@@ -341,6 +346,18 @@ public class Searchables {
return component;
}
}
} else {
// If the current preferred activity is GoogleSearch, and we detect
// EnhancedGoogleSearch installed as well, set the latter as preferred since that
// is a superset and provides more functionality.
ComponentName cn = new ComponentName(ri.activityInfo.packageName, ri.activityInfo.name);
if (cn.flattenToShortString().equals(GOOGLE_SEARCH_COMPONENT_NAME)) {
ComponentName enhancedGoogleSearch = ComponentName.unflattenFromString(
ENHANCED_GOOGLE_SEARCH_COMPONENT_NAME);
if (setPreferredActivity(enhancedGoogleSearch, Intent.ACTION_WEB_SEARCH)) {
return enhancedGoogleSearch;
}
}
}
if (ri == null) return null;