Commit Graph

78 Commits

Author SHA1 Message Date
Tony Mak
5651e0f2ce Fix searching work app in settings NO PARTIAL RERUN
Test: m -j RunSettingsRoboTests
Test: Observe search result with badged icon and showing work app info
when tapping on it.
Test: personal app search result is still working
Test: Non app search result is working

Fix: 62366873

Merged-in: I333372699b263d02cc4083289dc746c7aacd414d

Change-Id: I9c87345478f8df57b151927d8097cd8fd90fbe79
2017-06-15 19:48:44 +00:00
TreeHugger Robot
dfc1983601 Merge "Revert "Initial search bar implementation."" into oc-dev 2017-06-06 19:04:26 +00:00
TreeHugger Robot
2046c59b77 Merge "Check for dynamic summaries at display time for search" into oc-dev 2017-06-06 18:52:31 +00:00
TreeHugger Robot
37f87b6c64 Merge "Revert "Add search bar to SearchActivity."" into oc-dev 2017-06-06 18:42:25 +00:00
Andrew Sapperstein
a0e816d9d3 Revert "Initial search bar implementation."
This reverts commit 14934599dd.

Bug: 37477506
Change-Id: I510b9a71dd3f19a3d2194da1f4d8f8060d0a4935
Merged-In: Id7477b90fbaf30eb5cac1ee244c847bddb95b3fd
2017-06-06 17:30:17 +00:00
Andrew Sapperstein
61353aa4fd Revert "Add search bar to SearchActivity."
This reverts commit fac61b71e5.

Bug: 37477506
Change-Id: I1ee66999fbb28b03feb5a51c7146f31a71c1252a
Merged-In: I4a0f0c91c51ff5820b61a596520d80a3337c3466
2017-06-06 17:29:41 +00:00
Matthew Fritze
0b4b716627 Check for dynamic summaries at display time for search
In order to hide dynamic summaries which use SettingPref,
we check if the summary is equal to "%s".

This is a temporary, band-aid fix which should be
changed in the next release.

Bug: 36101902
Test: make RunSettingsRoboTests
Change-Id: I6cadb3ba68f09ba18ad9a6d2a817804c5d4a08e5
2017-06-06 08:34:16 -07:00
TreeHugger Robot
fbc9035bcd Merge "Add search bar to SearchActivity." into oc-dev 2017-06-01 22:02:32 +00:00
TreeHugger Robot
7a148b9e09 Merge "Prevent crash when removing duplicates" into oc-dev 2017-06-01 21:12:11 +00:00
Matthew Fritze
ebd80e68ab Prevent crash when removing duplicates
The method that crashes is removed in O-DR, and thus
does not need to be merged down.

Change-Id: If30bd8bd92d578133984f7f35e7ec5288adfc390
Fixes: 62100634
Test: make RunSettingsRoboTests
Merged-In: Id36f7bf4ceaaa3a2bd326ecafbfe97fd0b247df2
2017-06-01 11:13:37 -07:00
Andrew Sapperstein
fac61b71e5 Add search bar to SearchActivity.
Styling doesn't look exactly right yet but there's a bar.
Creates an ItemDecoration to add a spacer above the first view.

Removes the action bar and replaces it with a SearchView
inside of a CardView.

Remaining work: pixel pushing

Bug: 37477506
Test: make RunSettingsRoboTests
Change-Id: Ibf38c3c2725551bc4cd90e98d0020ec49c2eab2b
Merged-In: I4a0f0c91c51ff5820b61a596520d80a3337c3466
2017-06-01 11:02:56 -07:00
Andrew Sapperstein
14934599dd Initial search bar implementation.
Replaces the default Toolbar in SettingsActivity with one that looks
like a search bar. It uses a Toolbar inside a CardView with some custom
styling.

Since the search bar is a floating element, the new toolbar lives in the
content frame of the dashboard. A FrameLayout is used to provide the
layering that is desired.

Since the search bar is on top, an additional spacer view is added to
the list of items in the dashboard. Its color changes based on what
the first view is so that it always matches.

Adds android-support-v7-cardview as a dependency (and reorders the
other deps to be in alphabetical order).

Remaining work (in future CLs):
- remove search menu option?
- clean up initial window
- remove the line between the header and the first condition
       when there's a condition

Change-Id: I627b406735c8e2280ac08f44ca32f7098621a830
Merged-In: Id7477b90fbaf30eb5cac1ee244c847bddb95b3fd
Bug: 37477506
Test: make RunSettingsRoboTests
2017-05-31 14:03:26 -07:00
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