Merge "Add searchable metadata attribute for injected tiles." into udc-qpr-dev

This commit is contained in:
Viesturs Zarins
2023-09-26 08:41:52 +00:00
committed by Android (Google) Code Review
2 changed files with 15 additions and 1 deletions

View File

@@ -454,7 +454,7 @@ public class SettingsSearchIndexablesProvider extends SearchIndexablesProvider {
// Skip Settings injected items because they should be indexed in the sub-pages.
return false;
}
return true;
return tile.isSearchable();
}
private static Object[] createIndexableRawColumnObjects(SearchIndexableRaw raw) {

View File

@@ -1,5 +1,6 @@
package com.android.settings.search;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SEARCHABLE;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_TITLE;
import static com.google.common.truth.Truth.assertThat;
@@ -207,6 +208,19 @@ public class SettingsSearchIndexablesProviderTest {
assertThat(mProvider.isEligibleForIndexing(PACKAGE_NAME, activityTile)).isTrue();
}
@Test
public void isEligibleForIndexing_disabledByMetadata_shouldReturnFalse() {
final ActivityInfo activityInfo = new ActivityInfo();
activityInfo.packageName = PACKAGE_NAME;
activityInfo.name = "class";
activityInfo.metaData = new Bundle();
activityInfo.metaData.putBoolean(META_DATA_PREFERENCE_SEARCHABLE, false);
final ActivityTile activityTile = new ActivityTile(activityInfo,
CategoryKey.CATEGORY_CONNECT);
assertThat(mProvider.isEligibleForIndexing(PACKAGE_NAME, activityTile)).isFalse();
}
@Implements(CategoryManager.class)
public static class ShadowCategoryManager {