diff --git a/src/com/android/settings/search/DatabaseIndexingManager.java b/src/com/android/settings/search/DatabaseIndexingManager.java index d540d2fd763..5d6fe3b5bb2 100644 --- a/src/com/android/settings/search/DatabaseIndexingManager.java +++ b/src/com/android/settings/search/DatabaseIndexingManager.java @@ -28,7 +28,8 @@ import static com.android.settings.search.IndexDatabaseHelper.IndexColumns.DATA_ import static com.android.settings.search.IndexDatabaseHelper.IndexColumns.DATA_KEYWORDS; import static com.android.settings.search.IndexDatabaseHelper.IndexColumns.DATA_KEY_REF; import static com.android.settings.search.IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_ON; -import static com.android.settings.search.IndexDatabaseHelper.IndexColumns.DATA_SUMMARY_ON_NORMALIZED; +import static com.android.settings.search.IndexDatabaseHelper.IndexColumns + .DATA_SUMMARY_ON_NORMALIZED; import static com.android.settings.search.IndexDatabaseHelper.IndexColumns.DATA_TITLE; import static com.android.settings.search.IndexDatabaseHelper.IndexColumns.DATA_TITLE_NORMALIZED; import static com.android.settings.search.IndexDatabaseHelper.IndexColumns.ENABLED; @@ -234,9 +235,9 @@ public class DatabaseIndexingManager { @VisibleForTesting List getIndexData(String locale, PreIndexData data) { if (mConverter == null) { - mConverter = new IndexDataConverter(mContext); + mConverter = new IndexDataConverter(mContext, locale); } - return mConverter.convertPreIndexDataToIndexData(data, locale); + return mConverter.convertPreIndexDataToIndexData(data); } /** @@ -248,6 +249,10 @@ public class DatabaseIndexingManager { ContentValues values; for (IndexData dataRow : indexData) { + if (TextUtils.isEmpty(dataRow.normalizedTitle)) { + continue; + } + values = new ContentValues(); values.put(IndexDatabaseHelper.IndexColumns.DOCID, dataRow.getDocId()); values.put(LOCALE, dataRow.locale); diff --git a/src/com/android/settings/search/DatabaseResultLoader.java b/src/com/android/settings/search/DatabaseResultLoader.java index 3d280b2002e..c1663ab38bc 100644 --- a/src/com/android/settings/search/DatabaseResultLoader.java +++ b/src/com/android/settings/search/DatabaseResultLoader.java @@ -93,7 +93,6 @@ public class DatabaseResultLoader extends AsyncLoader firstWordQuery(String[] matchColumns, int baseRank) { @@ -157,7 +156,7 @@ public class DatabaseResultLoader extends AsyncLoader secondaryWordQuery(String[] matchColumns, int baseRank) { @@ -172,7 +171,7 @@ public class DatabaseResultLoader extends AsyncLoader anyWordQuery(String[] matchColumns, int baseRank) { @@ -186,8 +185,8 @@ public class DatabaseResultLoader extends AsyncLoader query(String whereClause, String[] selection, int baseRank) { @@ -249,7 +248,7 @@ public class DatabaseResultLoader extends AsyncLoader mIndexData; - - public IndexDataConverter(Context context) { + public IndexDataConverter(Context context, String locale) { mContext = context; - mLocale = Locale.getDefault().toString(); - } - - public List convertPreIndexDataToIndexData(PreIndexData preIndexData, - String locale) { mLocale = locale; - mIndexData = new ArrayList<>(); - List dataToUpdate = preIndexData.dataToUpdate; - Map> nonIndexableKeys = preIndexData.nonIndexableKeys; - parsePreIndexData(dataToUpdate, nonIndexableKeys); - return mIndexData; } /** - * Inserts {@link SearchIndexableData} into the database. + * Return the collection of {@param preIndexData} converted into {@link IndexData}. * - * @param dataToUpdate is a {@link List} of the data to be inserted. - * @param nonIndexableKeys is a {@link Map} from Package Name to a {@link Set} of keys which - * identify search results which should not be surfaced. + * @param preIndexData a collection of {@link SearchIndexableResource}, + * {@link SearchIndexableRaw} and non-indexable keys. */ - private void parsePreIndexData(List dataToUpdate, - Map> nonIndexableKeys) { - final long current = System.currentTimeMillis(); + public List convertPreIndexDataToIndexData(PreIndexData preIndexData) { + + final long current = System.currentTimeMillis(); + final List indexableData = preIndexData.dataToUpdate; + final Map> nonIndexableKeys = preIndexData.nonIndexableKeys; + final List indexData = new ArrayList<>(); + + for (SearchIndexableData data : indexableData) { + if (data instanceof SearchIndexableRaw) { + final SearchIndexableRaw rawData = (SearchIndexableRaw) data; + final Set rawNonIndexableKeys = nonIndexableKeys.get( + rawData.intentTargetPackage); + final IndexData.Builder builder = convertRaw(rawData, rawNonIndexableKeys); + + if (builder != null) { + indexData.add(builder.build(mContext)); + } + } else if (data instanceof SearchIndexableResource) { + final SearchIndexableResource sir = (SearchIndexableResource) data; + final Set resourceNonIndexableKeys = + getNonIndexableKeysForResource(nonIndexableKeys, sir.packageName); + + if (sir.xmlResId == 0) { + // Index from provider + final Indexable.SearchIndexProvider provider = getSearchProvider(sir); + if (provider == null) { + continue; + } + indexData.addAll(convertIndexProvider(provider, sir, resourceNonIndexableKeys)); + + } else { + final List resourceData = convertResource(sir, + resourceNonIndexableKeys); + indexData.addAll(resourceData); + } - for (SearchIndexableData data : dataToUpdate) { - try { - addOneIndexData(data, nonIndexableKeys); - } catch (Exception e) { - Log.e(LOG_TAG, "Cannot index: " + (data != null ? data.className : data) - + " for locale: " + mLocale, e); } } - final long now = System.currentTimeMillis(); - Log.d(LOG_TAG, "Indexing locale '" + mLocale + "' took " + - (now - current) + " millis"); + final long endConversion = System.currentTimeMillis(); + Log.d(LOG_TAG, "Converting pre-index data to index data took: " + + (endConversion - current)); + + return indexData; } - private void addOneIndexData(SearchIndexableData data, - Map> nonIndexableKeys) { - if (data instanceof SearchIndexableResource) { - addOneResource((SearchIndexableResource) data, nonIndexableKeys); - } else if (data instanceof SearchIndexableRaw) { - addOneRaw((SearchIndexableRaw) data, nonIndexableKeys); - } - } - - private void addOneRaw(SearchIndexableRaw raw, Map> nonIndexableKeysFromResource) { + /** + * Return the conversion of {@link SearchIndexableRaw} to {@link IndexData}. + * The fields of {@link SearchIndexableRaw} are a subset of {@link IndexData}, + * and there is some data sanitization in the conversion. + */ + @Nullable + private IndexData.Builder convertRaw(SearchIndexableRaw raw, Set nonIndexableKeys) { // Should be the same locale as the one we are processing if (!raw.locale.toString().equalsIgnoreCase(mLocale)) { - return; + return null; } - Set packageKeys = nonIndexableKeysFromResource.get(raw.intentTargetPackage); - boolean enabled = raw.enabled; - - if (packageKeys != null && packageKeys.contains(raw.key)) { - enabled = false; - } + // A row is enabled if it does not show up as an nonIndexableKey + boolean enabled = !(nonIndexableKeys != null && nonIndexableKeys.contains(raw.key)); IndexData.Builder builder = new IndexData.Builder(); builder.setTitle(raw.title) @@ -145,58 +150,22 @@ public class IndexDataConverter { .setKey(raw.key) .setUserId(raw.userId); - addRowToData(builder.build(mContext)); + return builder; } - private void addOneResource(SearchIndexableResource sir, - Map> nonIndexableKeysFromResource) { - - if (sir == null) { - Log.e(LOG_TAG, "Cannot index a null resource!"); - return; - } - - final List nonIndexableKeys = new ArrayList<>(); - - if (sir.xmlResId > SearchIndexableResources.NO_DATA_RES_ID) { - Set resNonIndexableKeys = nonIndexableKeysFromResource.get(sir.packageName); - if (resNonIndexableKeys != null && resNonIndexableKeys.size() > 0) { - nonIndexableKeys.addAll(resNonIndexableKeys); - } - - addIndexDataFromResource(sir, nonIndexableKeys); - } else { - if (TextUtils.isEmpty(sir.className)) { - Log.w(LOG_TAG, "Cannot index an empty Search Provider name!"); - return; - } - - final Class clazz = DatabaseIndexingUtils.getIndexableClass(sir.className); - if (clazz == null) { - Log.d(LOG_TAG, "SearchIndexableResource '" + sir.className + - "' should implement the " + Indexable.class.getName() + " interface!"); - return; - } - - // Will be non null only for a Local provider implementing a - // SEARCH_INDEX_DATA_PROVIDER field - final Indexable.SearchIndexProvider provider = - DatabaseIndexingUtils.getSearchIndexProvider(clazz); - if (provider != null) { - List providerNonIndexableKeys = provider.getNonIndexableKeys(sir.context); - if (providerNonIndexableKeys != null) { - nonIndexableKeys.addAll(providerNonIndexableKeys); - } - - addIndexDataFromProvider(provider, sir, nonIndexableKeys); - } - } - } - - private void addIndexDataFromResource(SearchIndexableResource sir, - List nonIndexableKeys) { + /** + * Return the conversion of the {@link SearchIndexableResource} to {@link IndexData}. + * Each of the elements in the xml layout attribute of {@param sir} is a candidate to be + * converted (including the header element). + * + * TODO (b/33577327) simplify this method. + */ + private List convertResource(SearchIndexableResource sir, + Set nonIndexableKeys) { final Context context = sir.context; XmlResourceParser parser = null; + + List resourceIndexData = new ArrayList<>(); try { parser = context.getResources().getXml(sir.xmlResId); @@ -226,8 +195,7 @@ public class IndexDataConverter { String keywords; String headerKeywords; String childFragment; - @DrawableRes - int iconResId; + @DrawableRes int iconResId; ResultPayload payload; boolean enabled; final String fragmentName = sir.className; @@ -242,9 +210,6 @@ public class IndexDataConverter { .getPreferenceControllerUriMap(fragmentName, context); } - // Insert rows for the main PreferenceScreen node. Rewrite the data for removing - // hyphens. - headerTitle = XmlParserUtils.getDataTitle(context, attrs); headerSummary = XmlParserUtils.getDataSummary(context, attrs); headerKeywords = XmlParserUtils.getDataKeywords(context, attrs); @@ -319,8 +284,7 @@ public class IndexDataConverter { .setChildClassName(childFragment) .setPayload(payload); - // Insert rows for the child nodes of PreferenceScreen - addRowToData(builder.build(mContext)); + resourceIndexData.add(builder.build(mContext)); } else { // TODO (b/33577327) We removed summary off here. We should check if we can // merge this 'else' section with the one above. Put a break point to @@ -334,13 +298,13 @@ public class IndexDataConverter { builder.setSummaryOn(summaryOn); - addRowToData(builder.build(mContext)); + resourceIndexData.add(builder.build(mContext)); } } // The xml header's title does not match the title of one of the child settings. if (isHeaderUnique) { - addRowToData(headerBuilder.build(mContext)); + resourceIndexData.add(headerBuilder.build(mContext)); } } catch (XmlPullParserException e) { throw new RuntimeException("Error parsing PreferenceScreen", e); @@ -349,62 +313,44 @@ public class IndexDataConverter { } finally { if (parser != null) parser.close(); } + return resourceIndexData; } - private void addIndexDataFromProvider(Indexable.SearchIndexProvider provider, - SearchIndexableResource sir, List nonIndexableKeys) { + private List convertIndexProvider(Indexable.SearchIndexProvider provider, + SearchIndexableResource sir, Set nonIndexableKeys) { + final List indexData = new ArrayList<>(); final String className = sir.className; final String intentAction = sir.intentAction; final String intentTargetPackage = sir.intentTargetPackage; - if (provider == null) { - Log.w(LOG_TAG, "Cannot find provider: " + className); - return; - } + // TODO (b/65376542) Move provider conversion to PreIndexTime + // TODO (b/37741509) Providers don't use general non-indexable keys + nonIndexableKeys.addAll(provider.getNonIndexableKeys(mContext)); final List rawList = provider.getRawDataToIndex(mContext, true /* enabled */); if (rawList != null) { + for (SearchIndexableRaw raw : rawList) { + // The classname and intent information comes from the PreIndexData + // This will be more clear when provider conversion is done at PreIndex time. + raw.className = className; + raw.intentAction = intentAction; + raw.intentTargetPackage = intentTargetPackage; - final int rawSize = rawList.size(); - for (int i = 0; i < rawSize; i++) { - SearchIndexableRaw raw = rawList.get(i); - - // Should be the same locale as the one we are processing - if (!raw.locale.toString().equalsIgnoreCase(mLocale)) { - continue; + IndexData.Builder builder = convertRaw(raw, nonIndexableKeys); + if (builder != null) { + indexData.add(builder.build(mContext)); } - boolean enabled = !nonIndexableKeys.contains(raw.key); - - IndexData.Builder builder = new IndexData.Builder(); - builder.setTitle(raw.title) - .setSummaryOn(raw.summaryOn) - .setLocale(mLocale) - .setEntries(raw.entries) - .setKeywords(raw.keywords) - .setClassName(className) - .setScreenTitle(raw.screenTitle) - .setIconResId(raw.iconResId) - .setIntentAction(raw.intentAction) - .setIntentTargetPackage(raw.intentTargetPackage) - .setIntentTargetClass(raw.intentTargetClass) - .setEnabled(enabled) - .setKey(raw.key) - .setUserId(raw.userId); - - addRowToData(builder.build(mContext)); } } final List resList = provider.getXmlResourcesToIndex(mContext, true); - if (resList != null) { - final int resSize = resList.size(); - for (int i = 0; i < resSize; i++) { - SearchIndexableResource item = resList.get(i); + if (resList != null) { + for (SearchIndexableResource item : resList) { // Should be the same locale as the one we are processing if (!item.locale.toString().equalsIgnoreCase(mLocale)) { continue; @@ -420,16 +366,39 @@ public class IndexDataConverter { ? intentTargetPackage : item.intentTargetPackage; - addIndexDataFromResource(item, nonIndexableKeys); + indexData.addAll(convertResource(item, nonIndexableKeys)); } } + + return indexData; } - private void addRowToData(IndexData row) { - if (TextUtils.isEmpty(row.updatedTitle)) { - return; + private Set getNonIndexableKeysForResource(Map> nonIndexableKeys, + String packageName) { + return nonIndexableKeys.containsKey(packageName) + ? nonIndexableKeys.get(packageName) + : new HashSet<>(); + } + + /** + * @return Return the {@link Indexable.SearchIndexProvider} corresponding to the + * class specified by the Class name specified by {@param sir}. + */ + private Indexable.SearchIndexProvider getSearchProvider(SearchIndexableResource sir) { + if (TextUtils.isEmpty(sir.className)) { + Log.w(LOG_TAG, "Cannot index an empty Search Provider name!"); + return null; } - mIndexData.add(row); + final Class clazz = DatabaseIndexingUtils.getIndexableClass(sir.className); + if (clazz == null) { + Log.d(LOG_TAG, "SearchIndexableResource '" + sir.className + + "' should implement the " + Indexable.class.getName() + " interface!"); + return null; + } + + // Will be non null only for a Local provider implementing a + // SEARCH_INDEX_DATA_PROVIDER field + return DatabaseIndexingUtils.getSearchIndexProvider(clazz); } } diff --git a/src/com/android/settings/search/indexing/PreIndexDataCollector.java b/src/com/android/settings/search/indexing/PreIndexDataCollector.java index 7186df8edda..a4e11317f23 100644 --- a/src/com/android/settings/search/indexing/PreIndexDataCollector.java +++ b/src/com/android/settings/search/indexing/PreIndexDataCollector.java @@ -31,6 +31,7 @@ import android.provider.SearchIndexablesContract; import android.text.TextUtils; import android.util.ArraySet; import android.util.Log; + import com.android.internal.annotations.VisibleForTesting; import com.android.settings.search.SearchIndexableRaw; import com.android.settings.search.SettingsSearchIndexablesProvider; @@ -186,7 +187,7 @@ public class PreIndexDataCollector { @VisibleForTesting List getNonIndexablesKeysFromRemoteProvider(String packageName, - String authority) { + String authority) { try { final Context packageContext = mContext.createPackageContext(packageName, 0); diff --git a/tests/robotests/src/com/android/settings/search/indexing/FakeSettingsFragment.java b/tests/robotests/src/com/android/settings/search/indexing/FakeSettingsFragment.java index 72df77192f5..e857ae44743 100644 --- a/tests/robotests/src/com/android/settings/search/indexing/FakeSettingsFragment.java +++ b/tests/robotests/src/com/android/settings/search/indexing/FakeSettingsFragment.java @@ -19,12 +19,12 @@ package com.android.settings.search.indexing; import android.content.Context; import android.provider.SearchIndexableResource; + import com.android.internal.logging.nano.MetricsProto; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.SearchIndexableRaw; import com.android.settingslib.core.AbstractPreferenceController; -import com.android.settingslib.core.lifecycle.Lifecycle; import java.util.ArrayList; import java.util.List; @@ -76,7 +76,8 @@ public class FakeSettingsFragment extends DashboardFragment { public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = new BaseSearchIndexProvider() { @Override - public List getRawDataToIndex(Context context, boolean enabled) { + public List getRawDataToIndex(Context context, + boolean enabled) { final SearchIndexableRaw data = new SearchIndexableRaw(context); data.title = TITLE; data.summaryOn = SUMMARY_ON; @@ -118,7 +119,7 @@ public class FakeSettingsFragment extends DashboardFragment { @Override public List - getPreferenceControllers(Context context) { + getPreferenceControllers(Context context) { return null; } }; diff --git a/tests/robotests/src/com/android/settings/search/indexing/IndexDataConverterTest.java b/tests/robotests/src/com/android/settings/search/indexing/IndexDataConverterTest.java index b5bfea08fe3..cac6f3a530d 100644 --- a/tests/robotests/src/com/android/settings/search/indexing/IndexDataConverterTest.java +++ b/tests/robotests/src/com/android/settings/search/indexing/IndexDataConverterTest.java @@ -20,6 +20,7 @@ package com.android.settings.search.indexing; import android.content.Context; import android.provider.SearchIndexableResource; import android.text.TextUtils; + import com.android.settings.TestConfig; import com.android.settings.R; import com.android.settings.search.ResultPayload; @@ -27,6 +28,7 @@ import com.android.settings.search.ResultPayloadUtils; import com.android.settings.search.SearchIndexableRaw; import com.android.settings.testutils.DatabaseTestUtils; import com.android.settings.testutils.SettingsRobolectricTestRunner; + import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -40,6 +42,7 @@ import java.util.Locale; import java.util.Set; import static com.google.common.truth.Truth.assertThat; + import static org.mockito.Mockito.spy; @RunWith(SettingsRobolectricTestRunner.class) @@ -97,7 +100,7 @@ public class IndexDataConverterTest { @Before public void setUp() { mContext = spy(RuntimeEnvironment.application); - mConverter = spy(new IndexDataConverter(mContext)); + mConverter = spy(new IndexDataConverter(mContext, localeStr)); } @After @@ -110,8 +113,7 @@ public class IndexDataConverterTest { final SearchIndexableRaw raw = getFakeRaw(); final PreIndexData preIndexData = new PreIndexData(); preIndexData.dataToUpdate.add(raw); - List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData, - localeStr); + List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData); assertThat(indexData.size()).isEqualTo(1); final IndexData row = indexData.get(0); @@ -148,8 +150,7 @@ public class IndexDataConverterTest { preIndexData.dataToUpdate.add(raw); preIndexData.nonIndexableKeys.put(raw.intentTargetPackage, keys); - List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData, - localeStr); + List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData); assertThat(indexData.size()).isEqualTo(1); assertThat(indexData.get(0).enabled).isFalse(); @@ -163,8 +164,7 @@ public class IndexDataConverterTest { final SearchIndexableRaw raw = getFakeRaw("ca-fr"); PreIndexData preIndexData = new PreIndexData(); preIndexData.dataToUpdate.add(raw); - List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData, - localeStr); + List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData); assertThat(indexData).isEmpty(); } @@ -175,8 +175,7 @@ public class IndexDataConverterTest { @Test public void testNullResource_NothingInserted() { PreIndexData preIndexData = new PreIndexData(); - List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData, - localeStr); + List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData); assertThat(indexData).isEmpty(); } @@ -187,8 +186,7 @@ public class IndexDataConverterTest { final PreIndexData preIndexData = new PreIndexData(); preIndexData.dataToUpdate.add(resource); - final List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData, - localeStr); + final List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData); int numEnabled = getEnabledResultCount(indexData); assertThat(numEnabled).isEqualTo(NUM_DISPLAY_ENTRIES); @@ -205,8 +203,7 @@ public class IndexDataConverterTest { preIndexData.dataToUpdate.add(resource); preIndexData.nonIndexableKeys.put(packageName, keys); - List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData, - localeStr); + List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData); assertThat(indexData.size()).isEqualTo(NUM_DISPLAY_ENTRIES); assertThat(getEnabledResultCount(indexData)).isEqualTo(NUM_DISPLAY_ENTRIES - 2); @@ -218,8 +215,7 @@ public class IndexDataConverterTest { final PreIndexData preIndexData = new PreIndexData(); preIndexData.dataToUpdate.add(resource); - List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData, - localeStr); + List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData); final IndexData row = findIndexDataForTitle(indexData, PAGE_TITLE); @@ -234,8 +230,7 @@ public class IndexDataConverterTest { final PreIndexData preIndexData = new PreIndexData(); preIndexData.dataToUpdate.add(resource); - List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData, - localeStr); + List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData); String checkBoxSummaryOn = "summary_on"; String checkBoxSummaryOff = "summary_off"; @@ -252,8 +247,7 @@ public class IndexDataConverterTest { final PreIndexData preIndexData = new PreIndexData(); preIndexData.dataToUpdate.add(resource); - List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData, - localeStr); + List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData); String listSummary = "summary_4"; String listKey = "pref_key_4"; @@ -268,8 +262,7 @@ public class IndexDataConverterTest { final PreIndexData preIndexData = new PreIndexData(); preIndexData.dataToUpdate.add(resource); - List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData, - localeStr); + List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData); final IndexData row = findIndexDataForTitle(indexData, TITLE_THREE); @@ -286,8 +279,7 @@ public class IndexDataConverterTest { final PreIndexData preIndexData = new PreIndexData(); preIndexData.dataToUpdate.add(resource); - List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData, - localeStr); + List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData); assertThat(indexData.size()).isEqualTo(NUM_FAKE_FRAGMENT_ENTRIES); assertThat(findIndexDataForTitle(indexData, PAGE_TITLE)).isNotNull(); @@ -306,8 +298,7 @@ public class IndexDataConverterTest { final PreIndexData preIndexData = new PreIndexData(); preIndexData.dataToUpdate.add(resource); - List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData, - localeStr); + List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData); final IndexData data = findIndexDataForTitle(indexData, FakeSettingsFragment.TITLE); assertFakeFragment(data); @@ -322,8 +313,7 @@ public class IndexDataConverterTest { final PreIndexData preIndexData = new PreIndexData(); preIndexData.dataToUpdate.add(resource); - List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData, - localeStr); + List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData); assertThat(getEnabledResultCount(indexData)).isEqualTo(NUM_ENABLED_FAKE_FRAGMENT_ENTRIES); } @@ -334,8 +324,7 @@ public class IndexDataConverterTest { final PreIndexData preIndexData = new PreIndexData(); preIndexData.dataToUpdate.add(resource); - List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData, - localeStr); + List indexData = mConverter.convertPreIndexDataToIndexData(preIndexData); int numEnabled = getEnabledResultCount(indexData); final IndexData nonTitlePref = findIndexDataForKey(indexData, "pref_key_1");