Add keywords to Slices

Attach the keywords used for Settings search to Slices.
Their primary use is helping match synonyms for presenters
which display slices without explicit Uri requests, like a launcher.

This changes:
- Updates database scheme
- Adds to SliceData object
- Grab keywords in the SliceDataConverter
- Set keywords on all slices

Test: robotests
Change-Id: I16c40d2380ffddaf0a87fb1b9cd58e95573b308f
Fixes: 78306195
This commit is contained in:
Matthew Fritze
2018-04-19 14:50:55 -07:00
parent 3bdd65e255
commit 47a44e8fa4
17 changed files with 130 additions and 18 deletions

View File

@@ -44,6 +44,7 @@ public class SlicesDatabaseAccessor {
IndexColumns.TITLE,
IndexColumns.SUMMARY,
IndexColumns.SCREENTITLE,
IndexColumns.KEYWORDS,
IndexColumns.ICON_RESOURCE,
IndexColumns.FRAGMENT,
IndexColumns.CONTROLLER,
@@ -150,6 +151,7 @@ public class SlicesDatabaseAccessor {
final String summary = cursor.getString(cursor.getColumnIndex(IndexColumns.SUMMARY));
final String screenTitle = cursor.getString(
cursor.getColumnIndex(IndexColumns.SCREENTITLE));
final String keywords = cursor.getString(cursor.getColumnIndex(IndexColumns.KEYWORDS));
final int iconResource = cursor.getInt(cursor.getColumnIndex(IndexColumns.ICON_RESOURCE));
final String fragmentClassName = cursor.getString(
cursor.getColumnIndex(IndexColumns.FRAGMENT));
@@ -169,6 +171,7 @@ public class SlicesDatabaseAccessor {
.setTitle(title)
.setSummary(summary)
.setScreenTitle(screenTitle)
.setKeywords(keywords)
.setIcon(iconResource)
.setFragmentName(fragmentClassName)
.setPreferenceControllerClassName(controllerClassName)