Merge "Make Settings self-injected toggle switch searchable"
diff --git a/src/com/android/settings/search/SettingsSearchIndexablesProvider.java b/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
index d504d9b..c619dec 100644
--- a/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
+++ b/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
@@ -65,6 +65,7 @@
 import com.android.settings.dashboard.DashboardFeatureProvider;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.slices.SettingsSliceProvider;
+import com.android.settingslib.drawer.ActivityTile;
 import com.android.settingslib.drawer.DashboardCategory;
 import com.android.settingslib.drawer.Tile;
 import com.android.settingslib.search.Indexable;
@@ -375,13 +376,19 @@
         final String currentPackageName = context.getPackageName();
         for (DashboardCategory category : dashboardFeatureProvider.getAllCategories()) {
             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;
                 }
                 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.title = tile.getTitle(context).toString();
-                CharSequence summary = tile.getSummary(context);
+                final 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());