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

Commit 0b4b7166 authored by Matthew Fritze's avatar Matthew Fritze
Browse files

Check for dynamic summaries at display time for search

In order to hide dynamic summaries which use SettingPref,
we check if the summary is equal to "%s".

This is a temporary, band-aid fix which should be
changed in the next release.

Bug: 36101902
Test: make RunSettingsRoboTests
Change-Id: I6cadb3ba68f09ba18ad9a6d2a817804c5d4a08e5
parent 68504155
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -34,6 +34,8 @@ import com.android.settings.overlay.FeatureFactory;
 */
public abstract class SearchViewHolder extends RecyclerView.ViewHolder {

    private final String DYNAMIC_PLACEHOLDER = "%s";

    private final String mPlaceholderSummary;

    public final TextView titleView;
@@ -57,8 +59,10 @@ public abstract class SearchViewHolder extends RecyclerView.ViewHolder {

    public void onBind(SearchFragment fragment, SearchResult result) {
        titleView.setText(result.title);
        // TODO (b/36101902) remove check for DYNAMIC_PLACEHOLDER
        if (TextUtils.isEmpty(result.summary)
                || TextUtils.equals(result.summary, mPlaceholderSummary)) {
                || TextUtils.equals(result.summary, mPlaceholderSummary)
                || TextUtils.equals(result.summary, DYNAMIC_PLACEHOLDER)) {
            summaryView.setVisibility(View.GONE);
        } else {
            summaryView.setText(result.summary);
+14 −0
Original line number Diff line number Diff line
@@ -163,6 +163,20 @@ public class IntentSearchViewHolderTest {
        assertThat(mHolder.summaryView.getVisibility()).isEqualTo(View.GONE);
    }

    @Test
    public void testBindElements_dynamicSummary_visibilityIsGone() {
        String dynamicSummary = "%s";
        SearchResult result = new Builder()
                .addTitle(TITLE)
                .addSummary(dynamicSummary)
                .addPayload(new IntentPayload(null))
                .build();

        mHolder.onBind(mFragment, result);

        assertThat(mHolder.summaryView.getVisibility()).isEqualTo(View.GONE);
    }

    private SearchResult getSearchResult(String title, String summary, Drawable icon) {
        Builder builder = new Builder();
        builder.addTitle(title)