Make Settings self-injected toggle switch searchable
- only skip ActivityTile - skip items that has no static title Bug: 132812768 Test: robotest Change-Id: Idb3c111966c1dd96e2886aca2c7ead3b57ba119e
This commit is contained in:
@@ -65,6 +65,7 @@ import com.android.settings.SettingsActivity;
|
|||||||
import com.android.settings.dashboard.DashboardFeatureProvider;
|
import com.android.settings.dashboard.DashboardFeatureProvider;
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
import com.android.settings.slices.SettingsSliceProvider;
|
import com.android.settings.slices.SettingsSliceProvider;
|
||||||
|
import com.android.settingslib.drawer.ActivityTile;
|
||||||
import com.android.settingslib.drawer.DashboardCategory;
|
import com.android.settingslib.drawer.DashboardCategory;
|
||||||
import com.android.settingslib.drawer.Tile;
|
import com.android.settingslib.drawer.Tile;
|
||||||
import com.android.settingslib.search.Indexable;
|
import com.android.settingslib.search.Indexable;
|
||||||
@@ -375,13 +376,19 @@ public class SettingsSearchIndexablesProvider extends SearchIndexablesProvider {
|
|||||||
final String currentPackageName = context.getPackageName();
|
final String currentPackageName = context.getPackageName();
|
||||||
for (DashboardCategory category : dashboardFeatureProvider.getAllCategories()) {
|
for (DashboardCategory category : dashboardFeatureProvider.getAllCategories()) {
|
||||||
for (Tile tile : category.getTiles()) {
|
for (Tile tile : category.getTiles()) {
|
||||||
if (currentPackageName.equals(tile.getPackageName())) {
|
if (currentPackageName.equals(tile.getPackageName())
|
||||||
|
&& tile instanceof ActivityTile) {
|
||||||
|
// Skip Settings injected items because they should be indexed in the sub-pages.
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
final SearchIndexableRaw raw = new SearchIndexableRaw(context);
|
final SearchIndexableRaw raw = new SearchIndexableRaw(context);
|
||||||
|
final CharSequence title = tile.getTitle(context);
|
||||||
|
raw.title = TextUtils.isEmpty(title) ? null : title.toString();
|
||||||
|
if (TextUtils.isEmpty(raw.title)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
raw.key = dashboardFeatureProvider.getDashboardKeyForTile(tile);
|
raw.key = dashboardFeatureProvider.getDashboardKeyForTile(tile);
|
||||||
raw.title = tile.getTitle(context).toString();
|
final CharSequence summary = tile.getSummary(context);
|
||||||
CharSequence summary = tile.getSummary(context);
|
|
||||||
raw.summaryOn = TextUtils.isEmpty(summary) ? null : summary.toString();
|
raw.summaryOn = TextUtils.isEmpty(summary) ? null : summary.toString();
|
||||||
raw.summaryOff = raw.summaryOn;
|
raw.summaryOff = raw.summaryOn;
|
||||||
raw.className = CATEGORY_KEY_TO_PARENT_MAP.get(tile.getCategory());
|
raw.className = CATEGORY_KEY_TO_PARENT_MAP.get(tile.getCategory());
|
||||||
|
Reference in New Issue
Block a user