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

Commit a59d7b0f authored by Mike LeBeau's avatar Mike LeBeau
Browse files

Make pressing the search button within an app that does not support

search bring up global search. This still respects the case where an
app has chosen to disable search entirely by overriding
onSearchRequested() to return false.

I do not believe any changes to the SearchManager documentation
(http://developer.android.com/reference/android/app/SearchManager.html#HowSearchIsInvoked)
are necessary, because this documentation already indicates that
pressing the search button within an app that does nothing special with
regard to search can bring up global search.
parent b059d906
Loading
Loading
Loading
Loading
+16 −4
Original line number Diff line number Diff line
@@ -309,12 +309,24 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS
                    + appSearchData + ", " + globalSearch + ")");
        }
        
        // Try to get the searchable info for the provided component (or for global search,
        // if globalSearch == true).
        mSearchable = SearchManager.getSearchableInfo(componentName, globalSearch);
        
        // If we got back nothing, and it wasn't a request for global search, then try again
        // for global search, as we'll try to launch that in lieu of any component-specific search.
        if (!globalSearch && mSearchable == null) {
            globalSearch = true;
            mSearchable = SearchManager.getSearchableInfo(componentName, globalSearch);
            
            // If we still get back null (i.e., there's not even a searchable info available
            // for global search), then really give up.
            if (mSearchable == null) {
            // unfortunately, we can't log here.  it would be logspam every time the user
            // clicks the "search" key on a non-search app
                // Unfortunately, we can't log here.  it would be logspam every time the user
                // clicks the "search" key on a non-search app.
                return false;
            }
        }
        
        mLaunchComponent = componentName;
        mAppSearchData = appSearchData;