Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 41282a35 authored by Satish Sampath's avatar Satish Sampath
Browse files

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.
parent 1bee98af
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -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;