Commit Graph

66 Commits

Author SHA1 Message Date
TreeHugger Robot
d3e33ebcef Merge "Fix crash when activity not attached after search index finishes." into oc-dev 2017-05-12 01:31:21 +00:00
Doris Ling
c55f9f5625 Fix crash when activity not attached after search index finishes.
When search indexing completes, check for valid  activity before
proceeding with further operations.

Change-Id: I7c72aa358574f79e2184d60bc9d0241595ea5d3b
Fix: 38198223
Test: make RunSettingsRoboTests
2017-05-10 11:52:29 -07:00
Matthew Fritze
5416a5992b Only add icons to settings items with icons
Currently the icon for the category of setting is used for
each setting result. Change it to only add an icon when
it exists in xml.

Bug: 37858983
Test: make RunSettingsRoboTests
Change-Id: Ib95e76c5a9ba2e73738cea716d72c5994a6aa0ba
2017-05-10 11:11:28 -07:00
TreeHugger Robot
120ec5d1eb Merge "Prevent non-blocking whitespaces from showing up in search" into oc-dev 2017-05-09 19:59:58 +00:00
Matthew Fritze
9615f82abf Prevent non-blocking whitespaces from showing up in search
When search results use the placeholder summary text,
it becomes non-breaking whitespace. If that is the
summary, set the visibility to gone.

Change-Id: Ic3987a0990c33b6cc5aabffa0782ece6c553784a
Merged-In: Ifefa785b6c56d56da73ca78d874f46efcb9e991f
Fixes: 38029215
Test: make RunSettingsRoboTests
2017-05-09 16:42:40 +00:00
Matthew Fritze
ab0b3f6790 Prevent race conditions after dropping database
Block all loaders from accessing the database
before indexing is complete.

Bug: 37501479
Test: make RunSettingsRoboTests
Change-Id: I2af98dcf6bceacbeffa70bd40879c97bb0cbc828
Merged-In: I02f8423c0ffc27abbb8ceb61a8c47d2f0796d0bb
2017-05-08 18:48:04 +00:00
Matthew Fritze
4f198813ed Prevent empty non-Indexable keys from being added
Change-Id: I688cd5243bb1651d60f74e168a84ddf8723816e3
Fixes: 37646265
Test: make RunSettingsRoboTests
2017-05-02 10:42:07 -07:00
TreeHugger Robot
0cdade8a78 Merge "Update Search UX for OC" into oc-dev 2017-04-25 00:55:03 +00:00
Matthew Fritze
d0b42b0322 Update Search UX for OC
- Change text opacity for Search UX
- Update dps between summary and breadcrumbs
- Remove icons for Title items
- Restrict summary to single line

Test: manual
Bug: 36853763
Change-Id: I2acd574ec9c490bbe7097d30c512e58ebe1ad9f2
2017-04-24 11:21:35 -07:00
Matthew Fritze
75f55d6e05 Prevent search crashes from uninstalled apps
All search results are now refreshed when resuming the
search fragment, to prevent crashes from results that
no longer exist.

Change-Id: I905465d14f415598ec7a2ebe7b29ed620cde0962
Fixes: 34817357
Test: make RunSettingsRoboTests
Merged-In: I96a0cbfee711ab9dee49d56bfdc4e885202d9ecd
2017-04-21 15:56:44 -07:00
Matthew Fritze
a0d03178d0 Reindex on OTA and locale change
When the user gets an OTA or changes language, settings
will clear the database and reindex it.

Test: make RunSettingsRoboTests
Change-Id: I379ece86b2d41d673bbbffbcf947774f3ccd4cb9
Fixes: 36859162
2017-04-10 14:28:39 -07:00
Matthew Fritze
8a42b074a7 Reserve full indexing for SearchFragment
Full Index should only be accessible from Search Fragment,
and when only full index should declare a locale to be
indexed.

Test: make RunSettingsRoboTests
Fixes: 36656637
Change-Id: Ie673067118ac6b184570e116ea24a169be027053
2017-03-29 23:55:48 +00:00
Matthew Fritze
28f389e553 Rename remaining layouts to original search names
Change-Id: Ibb0aa087e797c3e7ae93556cf4a00d9746694532
Fixes: 32590887
Test: make RunSettingsGoogleRoboTests
2017-03-22 16:05:24 +00:00
Matthew Fritze
5c83cfa278 Remove Index.java from old Search and its dependents
Test: make RunSettingsRoboTests
Bug: 35763944, 36192909
Change-Id:  If216e1eeb4c29e7372720c6228fa4e99ea2a9904
2017-03-17 14:26:05 -07:00
TreeHugger Robot
8c451742d0 Merge "Purify SettingsActivity from old search code." 2017-03-16 23:01:45 +00:00
Matthew Fritze
0b431fc003 Purify SettingsActivity from old search code.
Bug:35763944, 32590887
Test: make RunSettingsRoboTests
Change-Id: Id8140b68a676e595bff095546fa119cd3ced2c4a
2017-03-16 14:14:44 -07:00
Matthew Fritze
aa15a8e9c6 Remove ranking code for Old Search
Test: make RunSettingsRoboTests
Bug:35763944
Change-Id: I30b1d22f2de293bd6ff03352ca5793b00beec61a
2017-03-16 08:53:14 -07:00
TreeHugger Robot
54c962f55e Merge "SearchFragment removes stale data from the database" 2017-03-16 00:17:12 +00:00
Matthew Fritze
ebb5b7f73d SearchFragment removes stale data from the database
When search fragment is created, it will get a list of
the non-indexable keys and verify that each of the results
are not a part of that list.

This CL moves the non-indexable keys logic into a
controller for shared use between SearchFragment
and DatabaseIndexingManager.

Bug:33209418
Test: make RunSettingsRoboTests
Change-Id: I4ed3812ecc5ee9e63b75ba6edbc7ff8712e8e9c9
2017-03-15 15:34:49 -07:00
Fan Zhang
8c3dc96b21 Refactor all saved query related logic into a controller
Change-Id: I96f7dd91d7d2715141a9905cb59262d927560da4
Fix: 27391895
Test: make RunSettingsRoboTests
2017-03-15 12:41:00 -07:00
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
TreeHugger Robot
be0e3f376e Merge "Display recents when search fragment open." 2017-03-14 21:46:34 +00: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
Fan Zhang
c49ab99007 Add misc logging:
- Button clicks in app detail page:
  uninstall/disable/clear data/clear cache
- More logging in search:
  log inline search result click, and its metadata such as
  name/value/rank.

Fix: 32652772
Fix: 32798201
Test: make RunSettingsRoboTests
Change-Id: I90cef7c9ea9ea69ea9cf083013a38417097f8594
2017-03-13 16:30:55 -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
Fan Zhang
1f5fdab61e Misc fixes
- Remove tiny icon in bluetooth subheader
- Turn new search on

Fix: 35917435
Test: make RunSettingsRoboTests

Change-Id: I97a02319108a46a0c3df2295ddec49d47f13b597
2017-03-09 14:06:43 -08:00
Matthew Fritze
b759516cbf Create whitelist for the most popular settings
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
2017-03-06 12:31:41 -08:00
Matthew Fritze
52b6f8887b First pass at removing duplicate results
Removes the duplicate results which match Title and
Summary. Prioritizes higher ranked items and inline
results.

Bug: 33701673
Test: make RunSettingsRoboTests
Change-Id: I28d4f85b276c7bf5c7f3e1273eeec02066be097d
2017-02-22 14:47:53 -08:00
TreeHugger Robot
3135409d4e Merge "Rank results that match the prefix of the first word higher" 2017-02-21 22:46:49 +00:00
Matthew Fritze
b7b286cb89 Rank results that match the prefix of the first word higher
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
2017-02-18 22:22:29 +00:00
TreeHugger Robot
f1c80deab0 Merge "SearchView keyboard opens and closes appropriately" 2017-02-18 01:41:36 +00:00
TreeHugger Robot
5985ff098d Merge "Log search result click and its rank." 2017-02-18 00:09:01 +00: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
04615bc1b6 Blocks resources from adding headers that match settings
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
2017-02-17 09:39:21 -08:00
Fan Zhang
8fc4e819a2 Log search result click and its rank.
Bug: 34975477
Test: RunSettingsRoboTests
Change-Id: I86e72dbd27ac5daeafa4fb35ad55662de7b3eca9
2017-02-16 14:53:49 -08:00
Fan Zhang
c6ca314c0b Log source with visibility change
- 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
2017-02-15 17:17:19 -08: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
TreeHugger Robot
b692056232 Merge "Add Adaptive brightness as an inline result in Search" 2017-02-07 20:12:37 +00:00
Matthew Fritze
516b0f1b83 Add Adaptive brightness as an inline result in Search
Bug: 34740449
Test: make RunSettingsRoboTests
Change-Id: I71acdcc04780a76263171a9d312d88a1eb61624a
2017-02-06 17:49:34 -08:00
Matthew Fritze
43f7fb1b8f Installed App loader only matches on prefixes
Change-Id: Iefc6d681a1b616acf3c1354ff4d0f6c2c268895e
Fixes:34688403
Test: make RunSettingsRoboTests
2017-02-02 13:00:31 -08:00
TreeHugger Robot
0f36f3b5fe Merge "Search only matches prefixes rather than any substring" 2017-01-25 20:37:16 +00:00
Matthew Fritze
314b09eb4b Search only matches prefixes rather than any substring
Test: make RunSettingsRoboTests
Change-Id: I4da7e4c75c461fad96dedf5277ddba02e067928d
Bug: 34688403
2017-01-25 18:07:29 +00:00
Matthew Fritze
5ab7ecd775 Prevent crash when rotating screen in Settings Search
Change-Id: If8134a1e96f791aacedf2e907272cee33dfc85fe
Fix: 34690393
Test: make RunSettingsRoboTests
2017-01-24 18:07:52 -08:00
Matthew Fritze
3f3b547e4a Index everything into the database and disable invalid ones
Change-Id: I7eb931009b722c10487f6212113a8993463b7bce
Fixes: 34142852
Test: make RunSettingsRoboTests
2017-01-24 11:15:29 -08:00
Fan Zhang
a96b11f65d Build a sitemap manager to keep track of breadcrumbs
- 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
2017-01-23 20:41:39 -08:00
Fan Zhang
248d95c618 Add basic breadcrumb on search result.
- 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
2017-01-21 14:02:09 -08:00
TreeHugger Robot
2ecdc2514f Merge "Showing recents in search" 2017-01-21 00:41:25 +00:00
Fan Zhang
ba83109807 Fix installed app search query.
Now it shows system apps when user query match name.

Change-Id: Ic4d622d2d4872554172e34aa9be250b36a3c3da3
Fix: 34257148
Test: make RunSettingsRoboTests
2017-01-20 14:53:37 -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