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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user