summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/search
diff options
context:
space:
mode:
authorStanley Wang <stanleytfwang@google.com>2019-11-07 10:36:04 +0800
committerStanley Wang <stanleytfwang@google.com>2019-11-07 10:36:04 +0800
commit79eaa655efbd2b216a2fb5d9fbb4a3f243910819 (patch)
treeea78c6c9ba04f1b201a53abdf6649af5c3e3c849 /src/com/android/settings/search
parent38701ed7eae5ba71a710e039088d873575975c80 (diff)
downloadpackages_apps_Settings-79eaa655efbd2b216a2fb5d9fbb4a3f243910819.tar.gz
packages_apps_Settings-79eaa655efbd2b216a2fb5d9fbb4a3f243910819.tar.bz2
packages_apps_Settings-79eaa655efbd2b216a2fb5d9fbb4a3f243910819.zip
Refactor SettingsSearchIndexablesProvider.
- Extract the adding raw indexable columns to createIndexableRawColumnObjects method. - Refactor the getInjectionIndexableRawData method for query injection data. Test: manual Fixes: 144007045 Change-Id: I9c028818dcaff165c3b7f8d495f6002370cd30fa
Diffstat (limited to 'src/com/android/settings/search')
-rw-r--r--src/com/android/settings/search/SettingsSearchIndexablesProvider.java64
1 files changed, 27 insertions, 37 deletions
diff --git a/src/com/android/settings/search/SettingsSearchIndexablesProvider.java b/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
index a5a70c6c1f..e681a228c8 100644
--- a/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
+++ b/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
@@ -107,7 +107,7 @@ public class SettingsSearchIndexablesProvider extends SearchIndexablesProvider {
final List<SearchIndexableResource> resources =
getSearchIndexableResourcesFromProvider(getContext());
for (SearchIndexableResource val : resources) {
- Object[] ref = new Object[INDEXABLES_XML_RES_COLUMNS.length];
+ final Object[] ref = new Object[INDEXABLES_XML_RES_COLUMNS.length];
ref[COLUMN_INDEX_XML_RES_RANK] = val.rank;
ref[COLUMN_INDEX_XML_RES_RESID] = val.xmlResId;
ref[COLUMN_INDEX_XML_RES_CLASS_NAME] = val.className;
@@ -129,21 +129,7 @@ public class SettingsSearchIndexablesProvider extends SearchIndexablesProvider {
final MatrixCursor cursor = new MatrixCursor(INDEXABLES_RAW_COLUMNS);
final List<SearchIndexableRaw> raws = getSearchIndexableRawFromProvider(getContext());
for (SearchIndexableRaw val : raws) {
- Object[] ref = new Object[INDEXABLES_RAW_COLUMNS.length];
- ref[COLUMN_INDEX_RAW_TITLE] = val.title;
- ref[COLUMN_INDEX_RAW_SUMMARY_ON] = val.summaryOn;
- ref[COLUMN_INDEX_RAW_SUMMARY_OFF] = val.summaryOff;
- ref[COLUMN_INDEX_RAW_ENTRIES] = val.entries;
- ref[COLUMN_INDEX_RAW_KEYWORDS] = val.keywords;
- ref[COLUMN_INDEX_RAW_SCREEN_TITLE] = val.screenTitle;
- ref[COLUMN_INDEX_RAW_CLASS_NAME] = val.className;
- ref[COLUMN_INDEX_RAW_ICON_RESID] = val.iconResId;
- ref[COLUMN_INDEX_RAW_INTENT_ACTION] = val.intentAction;
- ref[COLUMN_INDEX_RAW_INTENT_TARGET_PACKAGE] = val.intentTargetPackage;
- ref[COLUMN_INDEX_RAW_INTENT_TARGET_CLASS] = val.intentTargetClass;
- ref[COLUMN_INDEX_RAW_KEY] = val.key;
- ref[COLUMN_INDEX_RAW_USER_ID] = val.userId;
- cursor.addRow(ref);
+ cursor.addRow(createIndexableRawColumnObjects(val));
}
return cursor;
@@ -181,21 +167,7 @@ public class SettingsSearchIndexablesProvider extends SearchIndexablesProvider {
final MatrixCursor cursor = new MatrixCursor(INDEXABLES_RAW_COLUMNS);
for (SearchIndexableRaw raw : rawList) {
- Object[] ref = new Object[INDEXABLES_RAW_COLUMNS.length];
- ref[COLUMN_INDEX_RAW_TITLE] = raw.title;
- ref[COLUMN_INDEX_RAW_SUMMARY_ON] = raw.summaryOn;
- ref[COLUMN_INDEX_RAW_SUMMARY_OFF] = raw.summaryOff;
- ref[COLUMN_INDEX_RAW_ENTRIES] = raw.entries;
- ref[COLUMN_INDEX_RAW_KEYWORDS] = raw.keywords;
- ref[COLUMN_INDEX_RAW_SCREEN_TITLE] = raw.screenTitle;
- ref[COLUMN_INDEX_RAW_CLASS_NAME] = raw.className;
- ref[COLUMN_INDEX_RAW_ICON_RESID] = raw.iconResId;
- ref[COLUMN_INDEX_RAW_INTENT_ACTION] = raw.intentAction;
- ref[COLUMN_INDEX_RAW_INTENT_TARGET_PACKAGE] = raw.intentTargetPackage;
- ref[COLUMN_INDEX_RAW_INTENT_TARGET_CLASS] = raw.intentTargetClass;
- ref[COLUMN_INDEX_RAW_KEY] = raw.key;
- ref[COLUMN_INDEX_RAW_USER_ID] = raw.userId;
- cursor.addRow(ref);
+ cursor.addRow(createIndexableRawColumnObjects(raw));
}
return cursor;
@@ -394,22 +366,40 @@ public class SettingsSearchIndexablesProvider extends SearchIndexablesProvider {
FeatureFactory.getFactory(context).getDashboardFeatureProvider(context);
final List<SearchIndexableRaw> rawList = new ArrayList<>();
+ final String currentPackageName = context.getPackageName();
for (DashboardCategory category : dashboardFeatureProvider.getAllCategories()) {
for (Tile tile : category.getTiles()) {
- final String packageName = tile.getPackageName();
- if (context.getPackageName().equals(packageName)) {
+ if (currentPackageName.equals(tile.getPackageName())) {
continue;
}
final SearchIndexableRaw raw = new SearchIndexableRaw(context);
+ raw.key = dashboardFeatureProvider.getDashboardKeyForTile(tile);
raw.title = tile.getTitle(context).toString();
- raw.summaryOn = tile.getSummary(context).toString();
- raw.summaryOff = tile.getSummary(context).toString();
- raw.keywords = dashboardFeatureProvider.getDashboardKeyForTile(tile);
+ CharSequence summary = tile.getSummary(context);
+ raw.summaryOn = TextUtils.isEmpty(summary) ? null : summary.toString();
+ raw.summaryOff = raw.summaryOn;
raw.className = CATEGORY_KEY_TO_PARENT_MAP.get(tile.getCategory());
rawList.add(raw);
}
}
- return rawList;
+ return rawList; }
+
+ private static Object[] createIndexableRawColumnObjects(SearchIndexableRaw raw) {
+ final Object[] ref = new Object[INDEXABLES_RAW_COLUMNS.length];
+ ref[COLUMN_INDEX_RAW_TITLE] = raw.title;
+ ref[COLUMN_INDEX_RAW_SUMMARY_ON] = raw.summaryOn;
+ ref[COLUMN_INDEX_RAW_SUMMARY_OFF] = raw.summaryOff;
+ ref[COLUMN_INDEX_RAW_ENTRIES] = raw.entries;
+ ref[COLUMN_INDEX_RAW_KEYWORDS] = raw.keywords;
+ ref[COLUMN_INDEX_RAW_SCREEN_TITLE] = raw.screenTitle;
+ ref[COLUMN_INDEX_RAW_CLASS_NAME] = raw.className;
+ ref[COLUMN_INDEX_RAW_ICON_RESID] = raw.iconResId;
+ ref[COLUMN_INDEX_RAW_INTENT_ACTION] = raw.intentAction;
+ ref[COLUMN_INDEX_RAW_INTENT_TARGET_PACKAGE] = raw.intentTargetPackage;
+ ref[COLUMN_INDEX_RAW_INTENT_TARGET_CLASS] = raw.intentTargetClass;
+ ref[COLUMN_INDEX_RAW_KEY] = raw.key;
+ ref[COLUMN_INDEX_RAW_USER_ID] = raw.userId;
+ return ref;
}
}