From 0b4b7166275294e78d5afea4e24038050cce5205 Mon Sep 17 00:00:00 2001 From: Matthew Fritze Date: Mon, 5 Jun 2017 19:08:14 -0700 Subject: [PATCH] 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 --- .../android/settings/search2/SearchViewHolder.java | 6 +++++- .../search/IntentSearchViewHolderTest.java | 14 ++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/search2/SearchViewHolder.java b/src/com/android/settings/search2/SearchViewHolder.java index 1175fcb2490..ab13252b9cc 100644 --- a/src/com/android/settings/search2/SearchViewHolder.java +++ b/src/com/android/settings/search2/SearchViewHolder.java @@ -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); diff --git a/tests/robotests/src/com/android/settings/search/IntentSearchViewHolderTest.java b/tests/robotests/src/com/android/settings/search/IntentSearchViewHolderTest.java index 51cd48428e5..404a824463c 100644 --- a/tests/robotests/src/com/android/settings/search/IntentSearchViewHolderTest.java +++ b/tests/robotests/src/com/android/settings/search/IntentSearchViewHolderTest.java @@ -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)