Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ebe56890 authored by Viesturs Zarins's avatar Viesturs Zarins Committed by Android (Google) Code Review
Browse files

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

parents cb9ba144 ac041fdb
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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.
     */
+5 −0
Original line number Diff line number Diff line
@@ -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.
     */
+23 −0
Original line number Diff line number Diff line
@@ -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();
    }
}
+23 −0
Original line number Diff line number Diff line
@@ -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 {