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
- in Settings->Apps & notifications->Apps->[select app], update the
header summary to installation status, and move the version text to
the bottom of the page.
- updatd preference title from Apps to App info
- update preference title from Notifications to App notifications
Bug: 34977561
Test: make RunSettingsRoboTests
Change-Id: I97e9b81c739fb99eaca2cf45fb11f208ad6cd9ca
Availability of the gesture is gated by a new FeatureProvider.
Test: make -j RunSettingsRoboTests; manual test on
supported/unsupported configurations.
Change-Id: I3529367a73e33370d5112b91d5144293ffa7fa22
Gesture Settings and Wireless settings were indexing
duplicate results that only added complexity to Search.
PowerUsageDetail was never supposed to be indexed.
Bug:33701673
Test: make RunSettingsRoboTests
Change-Id: I45d1fa4bd412c3418acec24f8c98eb4736f220ab
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
- Assume API 24 for some settings robolectric tests since they are
broken by referencing API new in version 24. Those tests will be
ignored until Robolectric is updated to support SDK 24.
- Comment out failing DatabaseIndexingManagerTest.
Test: cd tests/robotests && mma
Change-Id: Id71211b7a6836d55f31524c4cfe9628c2de78097
This CL ensures that a shared PackageMonitor is unregistered when a
settings activity pauses.
Bug: 34541282
Test: Manually installing/uninstalling AOSP LatinIME.apk while
Settings app is/isn't running, then search AOSP. Verified that
intent receiver isn't leaked from Settings app.
Test: Add assertion to Robolectric test to ensure intent receiver
isn't leaked. Build RunSettingsRoboTests and verify all passed.
Change-Id: I5bacdfe478eaa750c61341c14e79eb2cd3fdef3a
queryNonIndexableKeys returns a list of all of the
non-indexable keys for all providers in Settings
Change-Id: Id53cb2f55662e85c66f1c3f0c0e7d933b19fedaf
Fixes: 34623460
Test: RunSettingsRoboTests
- 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
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
- 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
This CL watches a change to Settings.Secure.ENABLED_INPUT_METHODS and
updates search index of IMEs.
Bug: 32643633
Test: After installing AOSP LatinIME.apk, enabling/disabling the IME
and searching "AOSP", then verify the search landing page is
correct depending on the IME's enabling state.
Test: Update robolectric test.
Change-Id: I85fa845238b89375e56b207a014af6432f9db647
This CL moves the code building index of IMEs from
InputMethodAndLanguageSettings to VirtualKeyboardFragment and
AvailableVirtualKeyboardFragment, so that a search landing page of IME
becomes one of the fragment correctly depending on the IME state.
Bug: 32643633
Test: Manually installing/uninstalling AOSP LatinIME.apk while
Settings app is/isn't running, then search AOSP and verify the
landing page is correctly determined by the IME's enable state.
Test: Update robolectric DynamicIndexableContentMonitorTest
Change-Id: Ie44f358c2d3919fc864f4f88e6229293113823dd
This CL moves the code building index of physical keyboards from
InputMethodAndLanguageSettings to PhysicalKeyboardFragment, so that a
search landing page becomes PhysicalKeyboardFragment as expected.
Bug: 32643633
Test: Connecting/Disconnecting Anker bluetooth keyboard while Settings
app is/isn't running, the search Anker and verify landing page
is PhysicalKeyboardFragment.
Test: Update robolectric DynamicIndexableContentMonitorTest.
Change-Id: I51f308ada74966a96c258f8ef50a9b4fc7bc6635
Refactor content monitoring code into a few singletons to keep alive
while Settings app is running.
Bug: 32995210
Test: Manually installing/uninstalling AOSP LatinIME.apk while
Settings app is/isn't running, then search AOSP.
Test: Connecting/Disconnecting Anker bluetooth keyboard while Settings
app is/isn't running, then search Anker.
Test: Added Robolectric test for DynamicIndexableContentMonitor.
Change-Id: I588e33be169fc9677d41c3daa59ab400f04f6419
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
- Create a new layout for footer prefs.
- Create a new FooterPreference type to use the layout
- Create a Mixin to create and add the pref to screen
- Create a new lifecycle observer type to invoke mixin at right time
- Switch SettingsPreferenceFragment to use footer mixin.
- Switch FingerprintSettings to use the new footer pref.
Bug: 33579394
Test: RunSettingsRoboTests
Change-Id: I548ac39a0d120196a7ffed09b4f98bd9a80bae90
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
Also add code inspection tests to ensure search provider is added
properly.
Bug: 33252252
Test: make RunSettingsRoboTests
Change-Id: I192e1d9fe0498b76013c4d43b5624d1ef2beb6f9
Unless a fragment is grandfathered:
- If it's a SearchPreferenceFragment, it needs to implement Indexable.
- If it's a Indexable, it needs to contain SEARCH_INDEX_DATA_PROVIDER.
Bug: 33209410
Test: make RunSettingsRoboTests
Change-Id: I078c54374341ba2966145429fc1507a3d5763d3b
This CL also reduces SearchIndexableResources class about 1kB.
Test: Added Robolectric test. "make RunSettingsRoboTests" passed.
Change-Id: Id7f7676e175db4aba0be23c0c1a3fc12dd6acc2e
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