*/
public abstract class SearchViewHolder extends RecyclerView.ViewHolder {
+ private final String mPlaceholderSummary;
+
public final TextView titleView;
public final TextView summaryView;
public final TextView breadcrumbView;
summaryView = view.findViewById(android.R.id.summary);
iconView = view.findViewById(android.R.id.icon);
breadcrumbView = view.findViewById(R.id.breadcrumb);
+
+ mPlaceholderSummary = view.getContext().getString(R.string.summary_placeholder);
}
public void onBind(SearchFragment fragment, SearchResult result) {
titleView.setText(result.title);
- if (TextUtils.isEmpty(result.summary)) {
+ if (TextUtils.isEmpty(result.summary)
+ || TextUtils.equals(result.summary, mPlaceholderSummary)) {
summaryView.setVisibility(View.GONE);
} else {
summaryView.setText(result.summary);
@Test
public void testBindViewElements_emptySummary_hideSummaryView() {
- final SearchResult result = new Builder().addTitle(TITLE)
+ final SearchResult result = new Builder()
+ .addTitle(TITLE)
.addRank(1)
.addPayload(new ResultPayload(null))
.addIcon(mIcon)
breadcrumbs.add("a");
breadcrumbs.add("b");
breadcrumbs.add("c");
- final SearchResult result = new Builder().addTitle(TITLE)
+ final SearchResult result = new Builder()
+ .addTitle(TITLE)
.addRank(1)
.addPayload(new ResultPayload(null))
.addBreadcrumbs(breadcrumbs)
assertThat(mHolder.breadcrumbView.getText()).isEqualTo("a > b > c");
}
+ @Test
+ public void testBindElements_placeholderSummary_visibilityIsGone() {
+ String nonBreakingSpace = mContext.getString(R.string.summary_placeholder);
+ SearchResult result = new Builder()
+ .addTitle(TITLE)
+ .addSummary(nonBreakingSpace)
+ .addPayload(new ResultPayload(null))
+ .build();
+
+ mHolder.onBind(mFragment, result);
+
+ assertThat(mHolder.summaryView.getVisibility()).isEqualTo(View.GONE);
+ }
+
private SearchResult getSearchResult() {
Builder builder = new Builder();
builder.addTitle(TITLE)