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 {
|
public abstract class SearchViewHolder extends RecyclerView.ViewHolder {
|
||||||
|
|
||||||
|
private final String mPlaceholderSummary;
|
||||||
|
|
||||||
public final TextView titleView;
|
public final TextView titleView;
|
||||||
public final TextView summaryView;
|
public final TextView summaryView;
|
||||||
public final TextView breadcrumbView;
|
public final TextView breadcrumbView;
|
||||||
@@ -49,11 +51,14 @@ public abstract class SearchViewHolder extends RecyclerView.ViewHolder {
|
|||||||
summaryView = view.findViewById(android.R.id.summary);
|
summaryView = view.findViewById(android.R.id.summary);
|
||||||
iconView = view.findViewById(android.R.id.icon);
|
iconView = view.findViewById(android.R.id.icon);
|
||||||
breadcrumbView = view.findViewById(R.id.breadcrumb);
|
breadcrumbView = view.findViewById(R.id.breadcrumb);
|
||||||
|
|
||||||
|
mPlaceholderSummary = view.getContext().getString(R.string.summary_placeholder);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onBind(SearchFragment fragment, SearchResult result) {
|
public void onBind(SearchFragment fragment, SearchResult result) {
|
||||||
titleView.setText(result.title);
|
titleView.setText(result.title);
|
||||||
if (TextUtils.isEmpty(result.summary)) {
|
if (TextUtils.isEmpty(result.summary)
|
||||||
|
|| TextUtils.equals(result.summary, mPlaceholderSummary)) {
|
||||||
summaryView.setVisibility(View.GONE);
|
summaryView.setVisibility(View.GONE);
|
||||||
} else {
|
} else {
|
||||||
summaryView.setText(result.summary);
|
summaryView.setText(result.summary);
|
||||||
|
@@ -111,7 +111,8 @@ public class IntentSearchViewHolderTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testBindViewElements_emptySummary_hideSummaryView() {
|
public void testBindViewElements_emptySummary_hideSummaryView() {
|
||||||
final SearchResult result = new Builder().addTitle(TITLE)
|
final SearchResult result = new Builder()
|
||||||
|
.addTitle(TITLE)
|
||||||
.addRank(1)
|
.addRank(1)
|
||||||
.addPayload(new IntentPayload(null))
|
.addPayload(new IntentPayload(null))
|
||||||
.addIcon(mIcon)
|
.addIcon(mIcon)
|
||||||
@@ -127,7 +128,8 @@ public class IntentSearchViewHolderTest {
|
|||||||
breadcrumbs.add("a");
|
breadcrumbs.add("a");
|
||||||
breadcrumbs.add("b");
|
breadcrumbs.add("b");
|
||||||
breadcrumbs.add("c");
|
breadcrumbs.add("c");
|
||||||
final SearchResult result = new Builder().addTitle(TITLE)
|
final SearchResult result = new Builder()
|
||||||
|
.addTitle(TITLE)
|
||||||
.addRank(1)
|
.addRank(1)
|
||||||
.addPayload(new IntentPayload(null))
|
.addPayload(new IntentPayload(null))
|
||||||
.addBreadcrumbs(breadcrumbs)
|
.addBreadcrumbs(breadcrumbs)
|
||||||
@@ -139,6 +141,20 @@ public class IntentSearchViewHolderTest {
|
|||||||
assertThat(mHolder.breadcrumbView.getText()).isEqualTo("a > b > c");
|
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() {
|
private SearchResult getSearchResult() {
|
||||||
Builder builder = new Builder();
|
Builder builder = new Builder();
|
||||||
builder.addTitle(TITLE)
|
builder.addTitle(TITLE)
|
||||||
|
Reference in New Issue
Block a user