Merge "Prevent non-blocking whitespaces from showing up in search" into oc-dev

am: 120ec5d1eb

Change-Id: Ic9bf5fc2aaa99592c362a3159aea0b11cb7ec950
This commit is contained in:
Matthew Fritze
2017-05-09 21:41:39 +00:00
committed by android-build-merger
2 changed files with 24 additions and 3 deletions

View File

@@ -34,6 +34,8 @@ import com.android.settings.overlay.FeatureFactory;
*/
public abstract class SearchViewHolder extends RecyclerView.ViewHolder {
private final String mPlaceholderSummary;
public final TextView titleView;
public final TextView summaryView;
public final TextView breadcrumbView;
@@ -49,11 +51,14 @@ public abstract class SearchViewHolder extends RecyclerView.ViewHolder {
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);

View File

@@ -111,7 +111,8 @@ public class IntentSearchViewHolderTest {
@Test
public void testBindViewElements_emptySummary_hideSummaryView() {
final SearchResult result = new Builder().addTitle(TITLE)
final SearchResult result = new Builder()
.addTitle(TITLE)
.addRank(1)
.addPayload(new IntentPayload(null))
.addIcon(mIcon)
@@ -127,7 +128,8 @@ public class IntentSearchViewHolderTest {
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 IntentPayload(null))
.addBreadcrumbs(breadcrumbs)
@@ -139,6 +141,20 @@ public class IntentSearchViewHolderTest {
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 IntentPayload(null))
.build();
mHolder.onBind(mFragment, result);
assertThat(mHolder.summaryView.getVisibility()).isEqualTo(View.GONE);
}
private SearchResult getSearchResult() {
Builder builder = new Builder();
builder.addTitle(TITLE)