am 41282a35: EnhancedGoogleSearch overrides GoogleSearch if present.
Merge commit '41282a35568b51270440450c46bb31aa00e52caa'
* commit '41282a35568b51270440450c46bb31aa00e52caa':
EnhancedGoogleSearch overrides GoogleSearch if present.
diff --git a/core/java/android/server/search/Searchables.java b/core/java/android/server/search/Searchables.java
index a27667b..c7cc8ed 100644
--- a/core/java/android/server/search/Searchables.java
+++ b/core/java/android/server/search/Searchables.java
@@ -57,6 +57,11 @@
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 @@
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;