Commit Graph

12 Commits

Author SHA1 Message Date
Fan Zhang
fe44549626 Add button to remove saved search query
TODO: move all saved query related logic into its own manager instead of
leaving them in SearchFragment.

Change-Id: I9635140eb507331246f9035a23138421cfa4b50a
Fix: 27391895
Test: make RunSettingsRoboTests
2017-03-15 10:43:10 -07:00
Fan Zhang
199b0fd697 Display recents when search fragment open.
Bug: 27391895
Test: make RunSettingsRoboTests
Change-Id: I62cfa35af96babf85a795910aa76dc774e2b80f2
2017-03-14 11:59:57 -07:00
Matthew Fritze
2beb03f4b7 Add optional feedback button for settings search
Adds mechanism for adding a button in the search screen
and stubs to show and hide the button.

Fixes: 35164702
Test: make -j40 RunSettingsRoboTests
Change-Id: I34d245e84b62cedf2dc6e5de4ea336c5a99ffd31
2017-03-13 09:55:05 -07:00
Matthew Fritze
592e4d739b SearchView keyboard opens and closes appropriately
- Keyboard opens when Search View opens
- Keyboard closes on query text submit
- Keyboard closes when user scrolls through results

Change-Id: I7cef383a2799eeb456fbaa07b8577c88cd35a997
Fixes: 34723251, 35164545
Test: SearchFragmentEspressoTest, manual test requested from QA
2017-02-17 23:37:26 +00:00
Matthew Fritze
40ce0fab75 Sync search result loaders
The loaders should be syncronized so the results can be
properly ranked without sudden insertions.

This means InstalledAppsLoader needs to finish faster,
which is accomplished by delaying icon loading to bind time
rather than as the apps are queried.

Bug: 34772522
Test: make RunSettingsRoboTests
Change-Id: I7f5244c574d37c6cfd8bbd0d3d40488f38211be3
2017-02-10 10:10:55 -08:00
Fan Zhang
a8b089db8a Showing recents in search
A list of recent queries will display when search first launches, or
when text query is empty.

Fix: 32452066
Test: make RunSettingsRoboTests
Change-Id: Ic697f8c0795f2315a01406537c7ce1bbf9a813be
2017-01-20 14:50:15 -08:00
Matthew Fritze
34c27609d6 Move indexing into the Search Fragment
Cold start latency for Settings increased drastically
from the indexing of the Search Database. Moving it into
the Search Fragment moves that latency to cases where
users are actually searching.

Change-Id: I11368af610ac9e80f9901654f980c2c1e26342a5
Fixes: 34142852
Test: make RunSettingsRoboTests
2017-01-19 10:27:37 -08:00
Fan Zhang
39f4f6ee60 Add logging to search fragment.
- User leaves screen without any query
- Number of results clicked before leaving screen
- Event of each result click

Bug: 34204146
Test: RunSettingsRoboTests

Change-Id: I357fbb4cdfd4d02370791b4a2ddeb2127fdddf97
2017-01-11 16:37:36 -08:00
Matthew Fritze
9955db6360 SearchFeatureProvider's context field is removed
SearchFeatureProvider was holding on to a context and
outlived the SettingsActivity, thus leaking the activity.
The context was passed into most methods, and thus it
makes more sense to pass it in to every method.

Bug: 33677967
Test: Run MakeSettingsRoboTests
Change-Id: Ia82f30e7e0b83587b4baeef28e81da6b8e4303fe
2016-12-20 11:39:10 -08:00
Fan Zhang
36d0d143be Add search loader for installed apps.
- The loader filters out system apps.
- Loader performs case-insensitive match with app names.
- SearchResultAdapter combines results from multiple loaders into a
  single list.

Fixes: 33347966
Test: make RunSettingsRoboTests
Change-Id: I228ca6fb82f0ac5151b2346c079c2de41104a4df
2016-12-07 13:00:26 -08:00
Fan Zhang
413eaa4070 Clean up search fragment loader lifecycle.
- Programatically create SearchView to make it always expand across
  entire action bar.
- Store current query text during screen rotation
- Restart loader when query text changes

Bug: 33354491
Test: RunSettingsRoboTests
Change-Id: I63838a38514569aac60c5d67ac52ac06a7acd5a3
2016-12-06 14:43:01 -08:00
Matthew Fritze
0ed37c3513 Fork Search code to independantly develop and test search.
This is the start of the new search in Settings. It is a nearly complete
replacement of the old search code in a more modular and flexible
architecture. It is expanding the datasources that it queries, including
the same Settings database, which will now include more first party apps
and be extended to support inline results where the user can change
settings directly from the search view. Search will also fan out to
query new sources (local or remote), and is built in a way
such that adding additional sources is roughly the same amount of work
had they been added in the initial writing of this code.

Query interpretation will now be source-dependant, allowing for future
upgrades to fuzzy search where it is applicable.

Change-Id: Ib0bac1fe92bf8a662d33abf9a99bb6ee2090ec8f
Fixes: 32115225, 32378927
Test: make RunSettingsRoboTests
2016-11-17 14:34:29 -08:00