diff options
author | Stanley Wang <stanleytfwang@google.com> | 2019-11-07 10:36:04 +0800 |
---|---|---|
committer | Stanley Wang <stanleytfwang@google.com> | 2019-11-07 10:36:04 +0800 |
commit | 79eaa655efbd2b216a2fb5d9fbb4a3f243910819 (patch) | |
tree | ea78c6c9ba04f1b201a53abdf6649af5c3e3c849 /src/com/android/settings/search | |
parent | 38701ed7eae5ba71a710e039088d873575975c80 (diff) | |
download | packages_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.java | 64 |
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; } } |