As a temporary solution to getting the most popular
settings to be the top rank, we have created a white list.
If a prioritized setting shows up somewhere in the results
then it will be given an elevated rank to be at the top.
Bug: 35048659
Test: make RunSettingsRoboTests
Change-Id: I92b563a17b42d8f91d980dd1d8e5f8f29ca5aa9c
Removes the duplicate results which match Title and
Summary. Prioritizes higher ranked items and inline
results.
Bug: 33701673
Test: make RunSettingsRoboTests
Change-Id: I28d4f85b276c7bf5c7f3e1273eeec02066be097d
Differentiates the results that match the first word in
the title from matches farther into the title.
Change-Id: I69f9804a51d1c2b0e476b0f082d634b3a598997c
Fixes: 34975472
Test: make RunSettingsRoboTests
- 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
Certain Xml resources have a single setting for the page
which often means the header and setting have the same
title. This CL stops the header from being indexed in
that case.
Bug: 33701673
Test: make RunSettingsRoboTests
Change-Id: Ie617414010e654c41fd014aa2fe297e6d2088ca5
- Add a method in VisibilityLoggerMixin to log visible event using
LogMaker, which allows logging additional FIELD_CONTEXT field.
- In Utils.startFragment, add current page's metricsCategory as an extra
to next page.
- In next page's onResume(), extract the previous page's metricsCategory
and send it to VisibilityLoggerMixin.visible()
- Update all caller with additional paramters
Change-Id: I8e1f2597fa465b7d3aa16fa1d21c052a3219694a
Fix: 35359289
Test: RunSettingsRoboTests
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
- Have a new db to track parent-child page relation at index time.
- Make a registry class to track (in IA) which page host what type of
sub pages.
- Make a manager class that queries the db as well as IA to compute
breadcrumbs
Fix: 32936784
Test: RunSettingsRoboTest
Change-Id: I5f1583fae772c3d477d2ad186e111b79cc3e41aa
- Some line formatting
- Some UI tweak to make it more polished
- Updated the way we generate docid
- Use screen title as leaf level breadcrumb and display on UI (TBD how
to get parent level titles)
- Hardcode breadcrumb for installed app results
Bug: 32936784
Test: make RunSettingsRoboTests
Change-Id: I18e0780f91b1123bbf25cd99adf2e2a5f684a83c
Now it shows system apps when user query match name.
Change-Id: Ic4d622d2d4872554172e34aa9be250b36a3c3da3
Fix: 34257148
Test: make RunSettingsRoboTests
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
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
- 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
Change the way the queries are built and sorted for the
database loader. It now constructs 3 queries that match
different columns. Each query returns their results
and gets sorted, then merged into the master list of
results.
Change-Id: Id643422ddfe26bfec89e04ee9f5832b99148e22a
Test: make RunSettingsRoboTests
Bug: 32904057, 32903623
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
Add Payload and Payload type columns to the settings
database. This includes extending preference controllers
to map their settings to UI components so that the
payload results can be consumed by a front end.
Change-Id: I889dcc4ff7793306718d12e1e5993386b58f21cc
Fixes: 33451851, 33390556
Test: RunSettingsRoboTests
Also fix how icon is loaded. IconResId is specific to the package of the
indexed result. If result comes from external app, icon needs to be
decoded against the external app's package context.
Bug: 33432310
Test: RunSettingsRoboTests
Change-Id: Ia0c53e63be757405dfaeceb2d865e7d8de87c5ee
- 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
- 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
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