Commit Graph

269 Commits

Author SHA1 Message Date
Yanting Yang
bfe16291a3 Fix breadcrumb of search results provided by Settings
Settings Search need Settings to provide custom site map pairs to
build up full breadcrumb for the search results from Gesture Settings
page.

Bug: 147851992
Bug: 151206664
Test: visual and robotests
Change-Id: I4a61e6da48755184954c2c90834578030ffc2e10
2020-04-21 19:11:45 +08:00
Yanting Yang
2483124478 Fix breadcrumb for the search results of Custom restrictions page
Settings Search need Settings to provide the custom site map pairs to
build up the full breadcrumb for the search results of Custom
restrictions page.

Impact search results:
Don't turn on screen
Don't wake for notifications
Hide notification dots on app icons
Hide status bar icons at top of screen
Don't pop notifications on screen
Hide from pull-down shade
Custom restrictions

Bug: 147851992
Bug: 151206664
Test: visual and robotests
Change-Id: I01e359eabcdc362e2a1fde5f3bc4ae5dc6918030
2020-04-15 08:52:05 +08:00
Yanting Yang
b7e1ececea Fix breadcrumb of search results provided by Settings
1. Settings Search need Settings to provide custom site map pairs to
build up full breadcrumb for the search results from below pages.
- PowerUsageAdvanced
- RecentLocationRequestSeeAllFragment
- UsbDetailsFragment
- UserBackupSettingsActivity

2. Update the screen title of Backup raw index data from Settings to
Backup to display correct breadcrumb in Settings Search.

Bug: 147851992
Bug: 151206664
Fixes: 152368059
Test: visual and robotests
Change-Id: Iaebab8d549bba6be7623708f9833349654e7f2a7
2020-04-10 20:56:39 +08:00
Yanting Yang
c54002e192 Add custom site map pairs into SettingsSearchIndexablesProvider
Settings Search need Settings to provide custom site map pairs to build
up full breadcrumb for the search results from ScreenLockSettings,
WallpaperSuggestionActivity and WifiSettings2.

Bug: 147851992
Bug: 151206664
Test: manual test with Settings Search, robotests
Change-Id: Ide6e69b3336af255a388737d46147f2fc2ef9790
2020-03-26 23:04:33 +08:00
Yanting Yang
298a7fe2e5 Remove the index of the homepage category tiles
Do not index the tiles of homepage category since we would like to index
their target activity for search.

Fixes: 151418948
Test: visual
Change-Id: I693534de006b4dbcaf192858e6f7d031bad78fef
2020-03-17 17:55:49 +08:00
Edgar Wang
e19ee9a01f Revert "Settings search - Navigate user to exact page"
This reverts commit 08f2a58459.

Reason for revert: design changed, we decide to take the user to
the entry after clicking on a search result.
It's opposite with what we did, so we revert related CL first.

Test: robotest

Change-Id: Iadb9a94a7ef7838be34a54499e2d934d6396c336
2020-01-16 14:07:38 +08:00
Edgar Wang
08f2a58459 Settings search - Navigate user to exact page
- remove duplicate index preference
- default set searchable = false when the preference has fragment
- make some fragments indexable

Bug: 143057584
Test: robotest & manual

Change-Id: I4d64f6106d2f92f0a45e8c7e26388677f593f412
2019-12-24 21:04:11 +08:00
Stanley Wang
a7d314d995 Merge "Add new method to preference controller base for dynamic index." 2019-11-19 09:09:00 +00:00
Stanley Wang
4a08fc1c59 Add new method to preference controller base for dynamic index.
- Add updateDynamicRawDataToIndex method.
- Implement preference controller index in BaseSearchIndexProvider.

Fixes: 144545478
Test: make RunSettingsGoogleRoboTests -j
      make RunSettingsRoboTests ROBOTEST_FILTER=
      com.android.settings.search.BaseSearchIndexProviderTest
Change-Id: Ibb11002227b280102b45d7c0610eae48ecf4c0f3
2019-11-19 14:47:10 +08:00
Raff Tsai
84327f6aa3 Add storage_summary_donut above ProfileSelectStorageFragment
- Modify ProfileSelectFragment to support add preference xml in the
top, and tabLayout below the preferences. Base preference layout is
dummy_preference_screen.xml which contains no preference.
ProfileSelectStorageFragment contains StorageSummaryDonutPreference
above the tabLayout.
- Make StorageSummaryDonutPreferenceController self workable without
StorageDashboardFragment dependence.
- Rename inactive_apps.xml to dummy_preference_screen.xml
- Move ShadowPrivateStorageInfo from LowStorageSliceTest

Bug: 141601408
Test: manual
Change-Id: Ide12840dc81bb104f328e230ecda5d35bba01d7a
2019-11-18 18:18:29 +08:00
Raff Tsai
c5e1fc677c Integrated SearchIndexableResources interface in Settings
- New SearchIndexableResources interface returns SearchIndexableBundle,
we don't need reflection to get SearchIndexableProvider

Bug: 135053028
Test: robolectric, check database search_index.db items
Change-Id: I5ed3416ccf72ef3d38db817fcb4aff7502649ed4
2019-11-05 17:38:32 +08:00
Raff Tsai
c898775914 Hide search box if it is called in initial setup wizard
- Search box is hidden if user set intent extra isSetupFlow true

Fixes: 135717823
Test: search box is hidden in the following command
adb shell am start -a android.settings.SETTINGS --ez isSetupFlow true

Change-Id: Ia3d955c9390d6b0eef9391b9b35b6a483eb63d26
2019-10-18 02:08:38 +00:00
Raff Tsai
966fa01423 Use SettingsLib Indexable
- Use SettingsLib Indexable
- Directly use resource id in getPreferenceScreenResId

Bug: 135053028
Test: roboletric
Change-Id: I05f493b55e8b6e2091301e9231ba5615215618e6
2019-09-25 18:24:56 +08:00
Raff Tsai
ac3e0d0988 Directly use BaseIndexableProvider
- Add function getXmlResourceId, Fragments don't need to write
xml resource id twice.
- Remove getPreferenceControllers from Indexable.java. Because it will
move to SettingsLib later for other apps which don't need this function

Bug: 135053028
Test: robolectric
Change-Id: I1e74519aecdea3dde64a5aea79f08d766dbc0003
2019-09-24 00:35:52 +08:00
Fan Zhang
beedd3abe5 Add referrer when launching search intent.
Bug: 123294739
Test: robotests
Change-Id: I600abf1d764e828d52f3b8d35ad24cdc94dfba01
2019-01-29 14:10:05 -08:00
James Lemieux
f1dade40d2 Use binary resource support in robolectric
The resources available to tests are now exactly the merged resources
located in the APK under test.

Bug: 74359828
Test: make -j56 RunSettingsRoboTests
Change-Id: I050db81a92decefea23314b5ec7a62f77ff4bb2b
2018-12-12 19:53:49 -08:00
Fan Zhang
8e14ca0058 Remove obsolete logic in SettingsActivity.
mIsShowingDashboard is always false, it used to be true when we are
displaying homepage, but now homepage is hosted in a entirely different
activity.

so all related logic can now be removed.

Test: robotests

Misc clean up: remove unused colors

Test: rebuild, color-lint
Change-Id: I1e1628c1e9606c2b7dc40ef3c21d4ed1391a8c03
2018-11-29 11:37:00 -08:00
Raff Tsai
a75a724bdd Fix Settings crash when clicking search bar
- When user disable settings suggestion in App Settings, click
search button without leaving settings app. The search button is
still existed.
- Doesn't allow user to disable app in App Settings
- Add check before start search intent

Change-Id: Ifbc4615914678d8df734e14d63bb626403313d1e
Fixes: 118805907
Test: manual
2018-11-15 18:08:40 +08:00
Raff Tsai
35ae9bbaac Read SettingsIntelligence package name from resource
Test: make RunSettingsRoboTests
Change-Id: I2143e1f7657cc0e01e91978e8c212ff079cec7d7
2018-11-13 14:45:01 +08:00
Raff Tsai
2928cd4c72 Fix Settings crash after disabling Settings Suggestion
- Settings Suggestion App is responsible for searching, we can not
prevent user disable it. Hide search feature if user disable it.

Fixes: 118805907
Fixes: 117921464
Test: manual
Change-Id: I61c47c52265a6efd79ef2fa60272bf6513e678b1
2018-11-07 14:11:23 +08:00
Fan Zhang
6b88c9c1b7 Use public API to launch search UI.
Test: manual
Change-Id: I5527dd6de5990aed365b6e78a9492ced00b99565
2018-10-18 16:26:59 -07:00
Fan Zhang
3181e1aceb Change search fab to search bar.
- Remove search fab from layout xml
- Change RelativeLayout to CoordinatorLayout so we can use prebuilt
  scrolling behavior
- Minor update to theme so search bar background works in dark mode for
  the homepage activity.

Change-Id: If7408c12684be65137e04ae3bb4137204c2d77e0
Fixes: 117508596
Test: robotests, visual
2018-10-10 16:29:22 -07:00
Fan Zhang
6632529ba1 Remove DeviceIndex feature/service.
Change-Id: I8444101669aef013183842c2d13cf3960c756398
Fixes: 112587202
Test: rerun all tests
2018-10-08 13:47:07 -07:00
Fan Zhang
23f8d59d02 Sort imports
Having consistent import order will reduce chance of merge
conflict between internal and external master

Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
2018-08-28 22:13:15 +00:00
Fan Zhang
a79c377fbc Declare "searchable" attribute for preferences.
Now we can easily mark a preference nonIndexable in xml instead of
adding key into searchIndexProvider.

Bug: 112608186
Test: robotests
Change-Id: I0ff16d44bb7b6ad148d3d35f09ca0da0163f73f4
2018-08-16 09:06:39 -07:00
Doris Ling
882bef3962 Disable changing lock when device is not provisioned.
When the device is not yet provisioned and settings is launched:
- disable the entry point for changing device lock
- remove the search panel from settings home page
- remove the search menu

Bug: 110034419
Test: make RunSettingsRoboTests
Change-Id: Ieb7eb0e8699229ec0824ccc19d7b958ac44965a2
2018-08-01 10:18:01 -07:00
tmfang
f12e6adcdc Settings Fragment Migration (Fix test cases)
Fix all Roboletric test cases.
In this CL, some test cases are broken.
So, We ignored these test cases temporarily.

Test: make RunSettingsRoboTests -j56
Bug: 110259478
Change-Id: I1a3075438a614432a2de4f2d96d8abf9a83ce58c
2018-07-11 18:24:51 -07:00
Fan Zhang
78ea7da54c Misc tweaks to Indexable usage and tests.
- Make SettingsPreferenceFragment implement Indexable directly
- Add existing fragments that are SettingsPrefFragment but not Indexable
  to grandfather list.
- Fix "font size" fragment so it shows up in search properly.
- Remove duplicates for "lock screen display", "Screen saver".

Bug: 70720645
Test: robotests
Change-Id: I44ce0cac0fdf5e882b315861bb4bebc45dbe01e6
2018-07-02 16:46:23 -07:00
Fan Zhang
7431c91de6 Remove search indexing pipeline from Settings
Index is already handled by SettingsIntelligenec. No longer needed in
Settings.

Change-Id: Id43fb3100dc2759185744441cff8cb9cd2d2da20
Fixes: 69808376
Test: robotests
2018-06-21 09:38:36 -07:00
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00
Fan Zhang
74ba1a51d7 Skip device index job if caller is not Settings app.
Change-Id: I96184f111e83477b46ddf321ec74917bab330048
Fixes: 80437512
Test: robotests
2018-05-30 10:38:58 -07:00
Fan Zhang
0b5f345e87 Merge "Fix a bug where device index is not skipped correct." into pi-dev am: 75b3e6f302
am: 9bc1f54268

Change-Id: Id2979eaf1f08bd2c67bd6bba31a62eb5d0acf8e2
2018-05-29 12:53:47 -07:00
TreeHugger Robot
75b3e6f302 Merge "Fix a bug where device index is not skipped correct." into pi-dev 2018-05-29 18:48:24 +00:00
Fan Zhang
548485336f Fix a bug where device index is not skipped correct.
When checking language/build fingerprint to skip reindex, language check
was comparing Locale object and String object, so they would never be
equal, so we accidentally reindex every time.

- Switched Objects.equal to TextUtils.equal, this catches the error at
compiler level.

Bug: 80065409
Test: compile/robotest
Change-Id: I2b3c68bb1c2fd876338f42321605567d7e64d64b
2018-05-25 16:25:14 -07:00
Jason Monk
7c3c3b1154 Merge "Follow SliceManager API changes" into pi-dev am: d68ed5c92c
am: 667d662d85

Change-Id: I42f6774aed0638e9c6574c0f5332c3c235ac07f2
2018-05-24 23:51:44 -07:00
Matthew Fritze
e656ffd83c Merge "Clear indexing before adding all Slices" into pi-dev am: 842ea91baa
am: 6f8bfd5fec

Change-Id: I4a56f4af28b980480c17b4de918b3aeb052f40e5
2018-05-23 16:02:00 -07:00
Jason Monk
20495a8c36 Follow SliceManager API changes
Test: make
Bug: 78898947
Change-Id: I5a46ccafe36ad2e0fdac745606d9907f07a86d0c
2018-05-23 17:09:03 -04:00
Matthew Fritze
4b26969839 Clear indexing before adding all Slices
Before we index, add a call to clear indexed data before
indexing again. It's an optional call.

Fixes: 80065409
Test: robotests

Change-Id: Iddb0ce02c50d84b51fbf6fc2be0bdc9aa1f5987a
2018-05-22 20:02:20 -07:00
Fan Zhang
fc6ce6de32 Merge "Do not perform device index before device provision." into pi-dev am: 1fe4512596
am: 8a8b58d381

Change-Id: Ie111e38c79735090a0cedae253d97d638f974209
2018-05-17 12:56:44 -07:00
Fan Zhang
4b04ba5903 Do not perform device index before device provision.
Bug: 79841744
Test: robotests
Change-Id: I74243b6f31364220156e91fe63b56138a0240714
2018-05-16 13:26:24 -07:00
Jason Monk
0d3322a57b Merge "Push full slice index to device index" into pi-dev am: 3d29ca2893
am: 2332aad2a6

Change-Id: I3563eb7ed2ab93b35b1a950d89ca2466abaa59e3
2018-04-26 14:26:38 -07:00
Jason Monk
3d29ca2893 Merge "Push full slice index to device index" into pi-dev 2018-04-26 20:48:41 +00:00
Matthew Fritze
8c9e0354b4 Merge "Index database before getting Uri Descendants" into pi-dev am: a7fd137e2d
am: 03f1fafaaf

Change-Id: I700fd063084ad0e41289feb552b3a1bfafd3cd57
2018-04-26 13:36:00 -07:00
Jason Monk
fcd5f0f1aa Push full slice index to device index
Test: make RunSettingsRoboTests
Bug: 74555610
Change-Id: I3f0aa1218e1d7e736dc918d83e76423fa81ac6ab
2018-04-26 11:16:04 -04:00
Matthew Fritze
838d69da50 Index database before getting Uri Descendants
onGetSliceDescendants would return empty results if
the call was made before the database was indexed.
This CL checks the index before building the list.

Change-Id: I2e0f88893138a048dbd529d465d68fa4b1a3dc12
Fixes: 78196823
Test: robotests
2018-04-25 15:53:16 -07:00
Tony Mantler
0fcd6cbaa8 Autogenerate SearchIndexableResources subclass
Bug: 77148954
Test: RunSettingsLibRoboTests RunSettingsRoboTests RunSettingsGoogleRoboTests RunArcSettingsRoboTests
Change-Id: I842c42c55014c3310070ef22bd4f0d9a70dfd804
2018-04-03 10:26:55 -07:00
Jason Monk
f6edc7c80a Add option for settings to push to a device index
The index implementation is optional and left up to the OEM.

Test: Open settings, see content in index
Test: robo tests
Bug: 68378569
Bug: 76102600
Change-Id: Idb8bb1e0cabbbe92e7a852e2eadbdcd8c2ab7d56
2018-03-23 09:36:57 -04:00
Fan Zhang
59520b028a Fix tests
Change-Id: I8b750a87e6852d60ac2f8f61a955b1296cef759b
Fixes: 74234076
Test: robotests
2018-03-06 09:09:31 -08:00
Fan Zhang
3b47e5bc9f Reuse xml parser logic to scrape preference xml files.
Bug: 73668763
Test: atest
Test: robotests
Change-Id: Ifc241b5b4ec6d2935c4c532ff902a7ba352a98d6
2018-03-05 14:20:19 -08:00
James Lemieux
22a39c2b93 Use external/robolectric-shadows/run_robotests.mk
This allows Settings to test against the latest framework changes.

Also replaced TestConfig with traditional robolectric.properties.

Bug: 73173204
Bug: 73892008
Test: make -j56 RunSettingsRoboTests
Change-Id: I3135b4fa5f095ba79b282a76f45dd9baa2584bc7
2018-03-04 03:50:08 -08:00