Merge "Prevent non-blocking whitespaces from showing up in search" into oc-dev
am: 120ec5d1eb
Change-Id: Ic9bf5fc2aaa99592c362a3159aea0b11cb7ec950
This commit is contained in:
@@ -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);
|
||||
|
@@ -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)
|
||||
|
Reference in New Issue
Block a user