Only add icons to settings items with icons
Currently the icon for the category of setting is used for each setting result. Change it to only add an icon when it exists in xml. Bug: 37858983 Test: make RunSettingsRoboTests Change-Id: Ib95e76c5a9ba2e73738cea716d72c5994a6aa0ba
This commit is contained in:
@@ -82,7 +82,7 @@ public class IntentSearchViewHolderTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testConstructor_MembersNotNull() {
|
||||
public void testConstructor_membersNotNull() {
|
||||
assertThat(mHolder.titleView).isNotNull();
|
||||
assertThat(mHolder.summaryView).isNotNull();
|
||||
assertThat(mHolder.iconView).isNotNull();
|
||||
@@ -90,8 +90,8 @@ public class IntentSearchViewHolderTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBindViewElements_AllUpdated() {
|
||||
SearchResult result = getSearchResult();
|
||||
public void testBindViewElements_allUpdated() {
|
||||
SearchResult result = getSearchResult(TITLE, SUMMARY, mIcon);
|
||||
mHolder.onBind(mFragment, result);
|
||||
mHolder.itemView.performClick();
|
||||
|
||||
@@ -109,6 +109,14 @@ public class IntentSearchViewHolderTest {
|
||||
any(Pair.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBindViewIcon_nullIcon_imageDrawableIsNull() {
|
||||
final SearchResult result = getSearchResult(TITLE, SUMMARY, null);
|
||||
mHolder.onBind(mFragment, result);
|
||||
|
||||
assertThat(mHolder.iconView.getDrawable()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testBindViewElements_emptySummary_hideSummaryView() {
|
||||
final SearchResult result = new Builder()
|
||||
@@ -155,15 +163,15 @@ public class IntentSearchViewHolderTest {
|
||||
assertThat(mHolder.summaryView.getVisibility()).isEqualTo(View.GONE);
|
||||
}
|
||||
|
||||
private SearchResult getSearchResult() {
|
||||
private SearchResult getSearchResult(String title, String summary, Drawable icon) {
|
||||
Builder builder = new Builder();
|
||||
builder.addTitle(TITLE)
|
||||
.addSummary(SUMMARY)
|
||||
builder.addTitle(title)
|
||||
.addSummary(summary)
|
||||
.addRank(1)
|
||||
.addPayload(new IntentPayload(
|
||||
new Intent().setComponent(new ComponentName("pkg", "class"))))
|
||||
.addBreadcrumbs(new ArrayList<>())
|
||||
.addIcon(mIcon);
|
||||
.addIcon(icon);
|
||||
|
||||
return builder.build();
|
||||
}
|
||||
|
@@ -99,6 +99,7 @@ public class DatabaseIndexingManagerTest {
|
||||
private final String screenTitle = "screen title";
|
||||
private final String className = "class name";
|
||||
private final int iconResId = 0xff;
|
||||
private final int noIcon = 0;
|
||||
private final String action = "action";
|
||||
private final String targetPackage = "target package";
|
||||
private final String targetClass = "target class";
|
||||
@@ -388,7 +389,7 @@ public class DatabaseIndexingManagerTest {
|
||||
// Class Name
|
||||
assertThat(cursor.getString(11)).isEqualTo(className);
|
||||
// Icon
|
||||
assertThat(cursor.getInt(12)).isEqualTo(iconResId);
|
||||
assertThat(cursor.getInt(12)).isEqualTo(noIcon);
|
||||
// Intent Action
|
||||
assertThat(cursor.getString(13)).isEqualTo(action);
|
||||
// Target Package
|
||||
@@ -442,7 +443,7 @@ public class DatabaseIndexingManagerTest {
|
||||
// Class Name
|
||||
assertThat(cursor.getString(11)).isEqualTo(className);
|
||||
// Icon
|
||||
assertThat(cursor.getInt(12)).isEqualTo(iconResId);
|
||||
assertThat(cursor.getInt(12)).isEqualTo(noIcon);
|
||||
// Intent Action
|
||||
assertThat(cursor.getString(13)).isEqualTo(action);
|
||||
// Target Package
|
||||
@@ -496,7 +497,7 @@ public class DatabaseIndexingManagerTest {
|
||||
// Class Name
|
||||
assertThat(cursor.getString(11)).isEqualTo(className);
|
||||
// Icon
|
||||
assertThat(cursor.getInt(12)).isEqualTo(iconResId);
|
||||
assertThat(cursor.getInt(12)).isEqualTo(noIcon);
|
||||
// Intent Action
|
||||
assertThat(cursor.getString(13)).isEqualTo(action);
|
||||
// Target Package
|
||||
@@ -515,6 +516,18 @@ public class DatabaseIndexingManagerTest {
|
||||
assertThat(cursor.getBlob(20)).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddResource_iconAddedFromXml() {
|
||||
SearchIndexableResource resource = getFakeResource(R.xml.connected_devices);
|
||||
mManager.indexOneSearchIndexableData(mDb, localeStr, resource, new HashMap<>());
|
||||
|
||||
Cursor cursor = mDb.rawQuery("SELECT * FROM prefs_index ORDER BY data_title", null);
|
||||
cursor.moveToPosition(0);
|
||||
|
||||
// Icon
|
||||
assertThat(cursor.getInt(12)).isNotEqualTo(noIcon);
|
||||
}
|
||||
|
||||
// Tests for the flow: IndexOneResource -> IndexFromProvider -> IndexFromResource ->
|
||||
// UpdateOneRowWithFilteredData -> UpdateOneRow
|
||||
|
||||
@@ -565,7 +578,7 @@ public class DatabaseIndexingManagerTest {
|
||||
assertThat(cursor.getString(11))
|
||||
.isEqualTo("com.android.settings.display.ScreenZoomSettings");
|
||||
// Icon
|
||||
assertThat(cursor.getInt(12)).isEqualTo(iconResId);
|
||||
assertThat(cursor.getInt(12)).isEqualTo(noIcon);
|
||||
// Intent Action
|
||||
assertThat(cursor.getString(13)).isNull();
|
||||
// Target Package
|
||||
@@ -630,7 +643,7 @@ public class DatabaseIndexingManagerTest {
|
||||
assertThat(cursor.getString(11))
|
||||
.isEqualTo("com.android.settings.display.ScreenZoomSettings");
|
||||
// Icon
|
||||
assertThat(cursor.getInt(12)).isEqualTo(iconResId);
|
||||
assertThat(cursor.getInt(12)).isEqualTo(noIcon);
|
||||
// Intent Action
|
||||
assertThat(cursor.getString(13)).isNull();
|
||||
// Target Package
|
||||
|
Reference in New Issue
Block a user