Skip to content
Snippets Groups Projects
Commit 770e17a3 authored by Viesturs Zarins's avatar Viesturs Zarins Committed by Automerger Merge Worker
Browse files

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

parents 63834572 ebe56890
No related branches found
No related tags found
No related merge requests found
......@@ -22,6 +22,7 @@ import static com.android.settingslib.drawer.TileUtils.META_DATA_NEW_TASK;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_GROUP_KEY;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_ICON;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_KEYHINT;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SEARCHABLE;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SUMMARY;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SUMMARY_URI;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SWITCH_URI;
......@@ -423,6 +424,13 @@ public abstract class Tile implements Parcelable {
return (mMetaData == null) ? null : mMetaData.getString(META_DATA_PREFERENCE_GROUP_KEY);
}
/**
* Returns if this is searchable.
*/
public boolean isSearchable() {
return mMetaData == null || mMetaData.getBoolean(META_DATA_PREFERENCE_SEARCHABLE, true);
}
/**
* The type of the tile.
*/
......
......@@ -249,6 +249,11 @@ public class TileUtils {
*/
public static final String META_DATA_NEW_TASK = "com.android.settings.new_task";
/**
* If the entry should be shown in settings search results. Defaults to true.
*/
public static final String META_DATA_PREFERENCE_SEARCHABLE = "com.android.settings.searchable";
/**
* Build a list of DashboardCategory.
*/
......
......@@ -20,6 +20,7 @@ import static com.android.settingslib.drawer.TileUtils.META_DATA_KEY_PROFILE;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_GROUP_KEY;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_ICON;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_ICON_URI;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SEARCHABLE;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SWITCH_URI;
import static com.android.settingslib.drawer.TileUtils.PROFILE_ALL;
import static com.android.settingslib.drawer.TileUtils.PROFILE_PRIMARY;
......@@ -256,4 +257,26 @@ public class ActivityTileTest {
assertThat(tile.getType()).isEqualTo(Tile.Type.SWITCH_WITH_ACTION);
}
@Test
public void isSearchable_noMetadata_isTrue() {
final Tile tile = new ActivityTile(null, "category");
assertThat(tile.isSearchable()).isTrue();
}
@Test
public void isSearchable_notSet_isTrue() {
final Tile tile = new ActivityTile(mActivityInfo, "category");
assertThat(tile.isSearchable()).isTrue();
}
@Test
public void isSearchable_isSet_false() {
mActivityInfo.metaData.putBoolean(META_DATA_PREFERENCE_SEARCHABLE, false);
final Tile tile = new ActivityTile(mActivityInfo, "category");
assertThat(tile.isSearchable()).isFalse();
}
}
......@@ -20,6 +20,7 @@ import static com.android.settingslib.drawer.TileUtils.META_DATA_KEY_PROFILE;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_GROUP_KEY;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_ICON;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_KEYHINT;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SEARCHABLE;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SWITCH_URI;
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_TITLE;
import static com.android.settingslib.drawer.TileUtils.PROFILE_ALL;
......@@ -257,6 +258,28 @@ public class ProviderTileTest {
assertThat(tile.getType()).isEqualTo(Tile.Type.GROUP);
}
@Test
public void isSearchable_noMetadata_isTrue() {
final Tile tile = new ProviderTile(mProviderInfo, "category", null);
assertThat(tile.isSearchable()).isTrue();
}
@Test
public void isSearchable_notSet_isTrue() {
final Tile tile = new ProviderTile(mProviderInfo, "category", mMetaData);
assertThat(tile.isSearchable()).isTrue();
}
@Test
public void isSearchable_isSet_false() {
mMetaData.putBoolean(META_DATA_PREFERENCE_SEARCHABLE, false);
final Tile tile = new ProviderTile(mProviderInfo, "category", mMetaData);
assertThat(tile.isSearchable()).isFalse();
}
@Implements(TileUtils.class)
private static class ShadowTileUtils {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment