OSDN Git Service

Check for dynamic summaries at display time for search
authorMatthew Fritze <mfritze@google.com>
Tue, 6 Jun 2017 02:08:14 +0000 (19:08 -0700)
committerMatthew Fritze <mfritze@google.com>
Tue, 6 Jun 2017 15:34:16 +0000 (08:34 -0700)
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

src/com/android/settings/search2/SearchViewHolder.java
tests/robotests/src/com/android/settings/search/IntentSearchViewHolderTest.java

index 1175fcb..ab13252 100644 (file)
@@ -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);
index 51cd484..404a824 100644 (file)
@@ -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)