Revert "Get rid of SearchIndexableResources entirely."

Fixes: 69266642

This reverts commit ba0077977f.

Change-Id: I9de6914f194a65ba627b2e5e805884f894fc044f
This commit is contained in:
Fan Zhang
2017-11-13 22:48:49 +00:00
parent ba0077977f
commit 6c0c789460
7 changed files with 218 additions and 178 deletions

View File

@@ -0,0 +1,175 @@
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.settings.search;
import android.support.annotation.VisibleForTesting;
import com.android.settings.DateTimeSettings;
import com.android.settings.DeviceInfoSettings;
import com.android.settings.DisplaySettings;
import com.android.settings.LegalSettings;
import com.android.settings.ScreenPinningSettings;
import com.android.settings.accessibility.AccessibilitySettings;
import com.android.settings.accessibility.AccessibilityShortcutPreferenceFragment;
import com.android.settings.accessibility.MagnificationPreferenceFragment;
import com.android.settings.accounts.UserAndAccountDashboardFragment;
import com.android.settings.applications.AppAndNotificationDashboardFragment;
import com.android.settings.applications.DefaultAppSettings;
import com.android.settings.applications.SpecialAccessSettings;
import com.android.settings.applications.assist.ManageAssist;
import com.android.settings.backup.BackupSettingsActivity;
import com.android.settings.backup.BackupSettingsFragment;
import com.android.settings.bluetooth.BluetoothSettings;
import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
import com.android.settings.datausage.DataUsageMeteredSettings;
import com.android.settings.datausage.DataUsageSummary;
import com.android.settings.deletionhelper.AutomaticStorageManagerSettings;
import com.android.settings.development.DevelopmentSettingsDashboardFragment;
import com.android.settings.deviceinfo.Status;
import com.android.settings.deviceinfo.StorageDashboardFragment;
import com.android.settings.deviceinfo.StorageSettings;
import com.android.settings.display.AmbientDisplaySettings;
import com.android.settings.display.ScreenZoomSettings;
import com.android.settings.dream.DreamSettings;
import com.android.settings.enterprise.EnterprisePrivacySettings;
import com.android.settings.fuelgauge.BatterySaverSettings;
import com.android.settings.fuelgauge.PowerUsageAdvanced;
import com.android.settings.fuelgauge.PowerUsageSummary;
import com.android.settings.gestures.AssistGestureSettings;
import com.android.settings.gestures.DoubleTapPowerSettings;
import com.android.settings.gestures.DoubleTapScreenSettings;
import com.android.settings.gestures.DoubleTwistGestureSettings;
import com.android.settings.gestures.GestureSettings;
import com.android.settings.gestures.PickupGestureSettings;
import com.android.settings.gestures.SwipeToNotificationSettings;
import com.android.settings.inputmethod.AvailableVirtualKeyboardFragment;
import com.android.settings.inputmethod.PhysicalKeyboardFragment;
import com.android.settings.inputmethod.VirtualKeyboardFragment;
import com.android.settings.language.LanguageAndInputSettings;
import com.android.settings.location.LocationSettings;
import com.android.settings.location.ScanningSettings;
import com.android.settings.network.NetworkDashboardFragment;
import com.android.settings.nfc.PaymentSettings;
import com.android.settings.notification.ConfigureNotificationSettings;
import com.android.settings.notification.SoundSettings;
import com.android.settings.notification.ZenModeAutomationSettings;
import com.android.settings.notification.ZenModeBehaviorSettings;
import com.android.settings.notification.ZenModeSettings;
import com.android.settings.print.PrintSettingsFragment;
import com.android.settings.security.EncryptionAndCredential;
import com.android.settings.security.LockscreenDashboardFragment;
import com.android.settings.security.SecuritySettings;
import com.android.settings.security.screenlock.ScreenLockSettings;
import com.android.settings.sim.SimSettings;
import com.android.settings.support.SupportDashboardActivity;
import com.android.settings.system.ResetDashboardFragment;
import com.android.settings.system.SystemDashboardFragment;
import com.android.settings.tts.TextToSpeechSettings;
import com.android.settings.tts.TtsEnginePreferenceFragment;
import com.android.settings.users.UserSettings;
import com.android.settings.wallpaper.WallpaperTypeSettings;
import com.android.settings.wifi.ConfigureWifiSettings;
import com.android.settings.wifi.WifiSettings;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
public final class SearchIndexableResources {
@VisibleForTesting
static final Set<Class> sProviders = new HashSet<>();
@VisibleForTesting
static void addIndex(Class indexClass) {
sProviders.add(indexClass);
}
static {
addIndex(WifiSettings.class);
addIndex(NetworkDashboardFragment.class);
addIndex(ConfigureWifiSettings.class);
addIndex(BluetoothSettings.class);
addIndex(SimSettings.class);
addIndex(DataUsageSummary.class);
addIndex(DataUsageMeteredSettings.class);
addIndex(ScreenZoomSettings.class);
addIndex(DisplaySettings.class);
addIndex(AmbientDisplaySettings.class);
addIndex(WallpaperTypeSettings.class);
addIndex(AppAndNotificationDashboardFragment.class);
addIndex(SoundSettings.class);
addIndex(ZenModeSettings.class);
addIndex(StorageSettings.class);
addIndex(PowerUsageAdvanced.class);
addIndex(DefaultAppSettings.class);
addIndex(ManageAssist.class);
addIndex(SpecialAccessSettings.class);
addIndex(UserSettings.class);
addIndex(AssistGestureSettings.class);
addIndex(PickupGestureSettings.class);
addIndex(DoubleTapScreenSettings.class);
addIndex(DoubleTapPowerSettings.class);
addIndex(DoubleTwistGestureSettings.class);
addIndex(SwipeToNotificationSettings.class);
addIndex(GestureSettings.class);
addIndex(LanguageAndInputSettings.class);
addIndex(LocationSettings.class);
addIndex(ScanningSettings.class);
addIndex(SecuritySettings.class);
addIndex(ScreenLockSettings.class);
addIndex(EncryptionAndCredential.class);
addIndex(ScreenPinningSettings.class);
addIndex(UserAndAccountDashboardFragment.class);
addIndex(VirtualKeyboardFragment.class);
addIndex(AvailableVirtualKeyboardFragment.class);
addIndex(PhysicalKeyboardFragment.class);
addIndex(BackupSettingsActivity.class);
addIndex(BackupSettingsFragment.class);
addIndex(DateTimeSettings.class);
addIndex(AccessibilitySettings.class);
addIndex(PrintSettingsFragment.class);
addIndex(DevelopmentSettingsDashboardFragment.class);
addIndex(DeviceInfoSettings.class);
addIndex(Status.class);
addIndex(LegalSettings.class);
addIndex(SystemDashboardFragment.class);
addIndex(ResetDashboardFragment.class);
addIndex(StorageDashboardFragment.class);
addIndex(ConnectedDeviceDashboardFragment.class);
addIndex(EnterprisePrivacySettings.class);
addIndex(PaymentSettings.class);
addIndex(TextToSpeechSettings.class);
addIndex(TtsEnginePreferenceFragment.class);
addIndex(MagnificationPreferenceFragment.class);
addIndex(AccessibilityShortcutPreferenceFragment.class);
addIndex(DreamSettings.class);
addIndex(SupportDashboardActivity.class);
addIndex(AutomaticStorageManagerSettings.class);
addIndex(ConfigureNotificationSettings.class);
addIndex(PowerUsageSummary.class);
addIndex(BatterySaverSettings.class);
addIndex(LockscreenDashboardFragment.class);
addIndex(ZenModeBehaviorSettings.class);
addIndex(ZenModeAutomationSettings.class);
}
private SearchIndexableResources() {
}
public static Collection<Class> providerValues() { return sProviders;}
}

View File

@@ -46,164 +46,21 @@ import android.database.Cursor;
import android.database.MatrixCursor;
import android.provider.SearchIndexableResource;
import android.provider.SearchIndexablesProvider;
import android.support.annotation.VisibleForTesting;
import android.text.TextUtils;
import android.util.ArraySet;
import android.util.Log;
import com.android.settings.DateTimeSettings;
import com.android.settings.DeviceInfoSettings;
import com.android.settings.DisplaySettings;
import com.android.settings.LegalSettings;
import com.android.settings.ScreenPinningSettings;
import com.android.settings.accessibility.AccessibilitySettings;
import com.android.settings.accessibility.AccessibilityShortcutPreferenceFragment;
import com.android.settings.accessibility.MagnificationPreferenceFragment;
import com.android.settings.accounts.UserAndAccountDashboardFragment;
import com.android.settings.applications.AppAndNotificationDashboardFragment;
import com.android.settings.applications.DefaultAppSettings;
import com.android.settings.applications.SpecialAccessSettings;
import com.android.settings.applications.assist.ManageAssist;
import com.android.settings.backup.BackupSettingsActivity;
import com.android.settings.backup.BackupSettingsFragment;
import com.android.settings.bluetooth.BluetoothSettings;
import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
import com.android.settings.datausage.DataUsageMeteredSettings;
import com.android.settings.datausage.DataUsageSummary;
import com.android.settings.deletionhelper.AutomaticStorageManagerSettings;
import com.android.settings.development.DevelopmentSettingsDashboardFragment;
import com.android.settings.deviceinfo.Status;
import com.android.settings.deviceinfo.StorageDashboardFragment;
import com.android.settings.deviceinfo.StorageSettings;
import com.android.settings.display.AmbientDisplaySettings;
import com.android.settings.display.ScreenZoomSettings;
import com.android.settings.dream.DreamSettings;
import com.android.settings.enterprise.EnterprisePrivacySettings;
import com.android.settings.fuelgauge.BatterySaverSettings;
import com.android.settings.fuelgauge.PowerUsageAdvanced;
import com.android.settings.fuelgauge.PowerUsageSummary;
import com.android.settings.gestures.AssistGestureSettings;
import com.android.settings.gestures.DoubleTapPowerSettings;
import com.android.settings.gestures.DoubleTapScreenSettings;
import com.android.settings.gestures.DoubleTwistGestureSettings;
import com.android.settings.gestures.GestureSettings;
import com.android.settings.gestures.PickupGestureSettings;
import com.android.settings.gestures.SwipeToNotificationSettings;
import com.android.settings.inputmethod.AvailableVirtualKeyboardFragment;
import com.android.settings.inputmethod.PhysicalKeyboardFragment;
import com.android.settings.inputmethod.VirtualKeyboardFragment;
import com.android.settings.language.LanguageAndInputSettings;
import com.android.settings.location.LocationSettings;
import com.android.settings.location.ScanningSettings;
import com.android.settings.network.NetworkDashboardFragment;
import com.android.settings.nfc.PaymentSettings;
import com.android.settings.notification.ConfigureNotificationSettings;
import com.android.settings.notification.SoundSettings;
import com.android.settings.notification.ZenModeAutomationSettings;
import com.android.settings.notification.ZenModeBehaviorSettings;
import com.android.settings.notification.ZenModeSettings;
import com.android.settings.print.PrintSettingsFragment;
import com.android.settings.security.EncryptionAndCredential;
import com.android.settings.security.LockscreenDashboardFragment;
import com.android.settings.security.SecuritySettings;
import com.android.settings.security.screenlock.ScreenLockSettings;
import com.android.settings.sim.SimSettings;
import com.android.settings.support.SupportDashboardActivity;
import com.android.settings.system.ResetDashboardFragment;
import com.android.settings.system.SystemDashboardFragment;
import com.android.settings.tts.TextToSpeechSettings;
import com.android.settings.tts.TtsEnginePreferenceFragment;
import com.android.settings.users.UserSettings;
import com.android.settings.wallpaper.WallpaperTypeSettings;
import com.android.settings.wifi.ConfigureWifiSettings;
import com.android.settings.wifi.WifiSettings;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class SettingsSearchIndexablesProvider extends SearchIndexablesProvider {
public static final boolean DEBUG = false;
private static final String TAG = "SettingsSearchProvider";
public static final Set<Class> INDEXABLES = new HashSet<>();
private static final Collection<String> INVALID_KEYS;
@VisibleForTesting
static void addIndex(Class indexClass) {
INDEXABLES.add(indexClass);
}
static {
addIndex(WifiSettings.class);
addIndex(NetworkDashboardFragment.class);
addIndex(ConfigureWifiSettings.class);
addIndex(BluetoothSettings.class);
addIndex(SimSettings.class);
addIndex(DataUsageSummary.class);
addIndex(DataUsageMeteredSettings.class);
addIndex(ScreenZoomSettings.class);
addIndex(DisplaySettings.class);
addIndex(AmbientDisplaySettings.class);
addIndex(WallpaperTypeSettings.class);
addIndex(AppAndNotificationDashboardFragment.class);
addIndex(SoundSettings.class);
addIndex(ZenModeSettings.class);
addIndex(StorageSettings.class);
addIndex(PowerUsageAdvanced.class);
addIndex(DefaultAppSettings.class);
addIndex(ManageAssist.class);
addIndex(SpecialAccessSettings.class);
addIndex(UserSettings.class);
addIndex(AssistGestureSettings.class);
addIndex(PickupGestureSettings.class);
addIndex(DoubleTapScreenSettings.class);
addIndex(DoubleTapPowerSettings.class);
addIndex(DoubleTwistGestureSettings.class);
addIndex(SwipeToNotificationSettings.class);
addIndex(GestureSettings.class);
addIndex(LanguageAndInputSettings.class);
addIndex(LocationSettings.class);
addIndex(ScanningSettings.class);
addIndex(SecuritySettings.class);
addIndex(ScreenLockSettings.class);
addIndex(EncryptionAndCredential.class);
addIndex(ScreenPinningSettings.class);
addIndex(UserAndAccountDashboardFragment.class);
addIndex(VirtualKeyboardFragment.class);
addIndex(AvailableVirtualKeyboardFragment.class);
addIndex(PhysicalKeyboardFragment.class);
addIndex(BackupSettingsActivity.class);
addIndex(BackupSettingsFragment.class);
addIndex(DateTimeSettings.class);
addIndex(AccessibilitySettings.class);
addIndex(PrintSettingsFragment.class);
addIndex(DevelopmentSettingsDashboardFragment.class);
addIndex(DeviceInfoSettings.class);
addIndex(Status.class);
addIndex(LegalSettings.class);
addIndex(SystemDashboardFragment.class);
addIndex(ResetDashboardFragment.class);
addIndex(StorageDashboardFragment.class);
addIndex(ConnectedDeviceDashboardFragment.class);
addIndex(EnterprisePrivacySettings.class);
addIndex(PaymentSettings.class);
addIndex(TextToSpeechSettings.class);
addIndex(TtsEnginePreferenceFragment.class);
addIndex(MagnificationPreferenceFragment.class);
addIndex(AccessibilityShortcutPreferenceFragment.class);
addIndex(DreamSettings.class);
addIndex(SupportDashboardActivity.class);
addIndex(AutomaticStorageManagerSettings.class);
addIndex(ConfigureNotificationSettings.class);
addIndex(PowerUsageSummary.class);
addIndex(BatterySaverSettings.class);
addIndex(LockscreenDashboardFragment.class);
addIndex(ZenModeBehaviorSettings.class);
addIndex(ZenModeAutomationSettings.class);
INVALID_KEYS = new ArraySet<>();
INVALID_KEYS.add(null);
INVALID_KEYS.add("");
@@ -278,9 +135,10 @@ public class SettingsSearchIndexablesProvider extends SearchIndexablesProvider {
}
private List<String> getNonIndexableKeysFromProvider(Context context) {
final Collection<Class> values = SearchIndexableResources.providerValues();
final List<String> nonIndexableKeys = new ArrayList<>();
for (Class clazz : INDEXABLES) {
for (Class<?> clazz : values) {
final long startTime = System.currentTimeMillis();
Indexable.SearchIndexProvider provider = DatabaseIndexingUtils.getSearchIndexProvider(
clazz);
@@ -311,9 +169,10 @@ public class SettingsSearchIndexablesProvider extends SearchIndexablesProvider {
}
private List<SearchIndexableResource> getSearchIndexableResourcesFromProvider(Context context) {
Collection<Class> values = SearchIndexableResources.providerValues();
List<SearchIndexableResource> resourceList = new ArrayList<>();
for (Class clazz : INDEXABLES) {
for (Class<?> clazz : values) {
Indexable.SearchIndexProvider provider = DatabaseIndexingUtils.getSearchIndexProvider(
clazz);
@@ -337,9 +196,10 @@ public class SettingsSearchIndexablesProvider extends SearchIndexablesProvider {
}
private List<SearchIndexableRaw> getSearchIndexableRawFromProvider(Context context) {
final Collection<Class> values = SearchIndexableResources.providerValues();
final List<SearchIndexableRaw> rawList = new ArrayList<>();
for (Class clazz : INDEXABLES) {
for (Class<?> clazz : values) {
Indexable.SearchIndexProvider provider = DatabaseIndexingUtils.getSearchIndexProvider(
clazz);
final List<SearchIndexableRaw> providerRaws = provider.getRawDataToIndex(context,

View File

@@ -16,8 +16,6 @@
package com.android.settings.search;
import static com.google.common.truth.Truth.assertWithMessage;
import android.util.ArraySet;
import android.util.Log;
@@ -30,6 +28,8 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import static com.google.common.truth.Truth.assertWithMessage;
/**
* {@link CodeInspector} to ensure fragments implement search components correctly.
*/
@@ -47,7 +47,7 @@ public class SearchIndexProviderCodeInspector extends CodeInspector {
+ " these are not: \n";
private static final String NOT_IN_INDEXABLE_PROVIDER_REGISTRY =
"Class containing " + DatabaseIndexingManager.FIELD_NAME_SEARCH_INDEX_DATA_PROVIDER
+ " must be added to " + SettingsSearchIndexablesProvider.class.getName()
+ " must be added to " + SearchIndexableResources.class.getName()
+ " but these are not: \n";
private final List<String> notImplementingIndexableGrandfatherList;
@@ -114,7 +114,7 @@ public class SearchIndexProviderCodeInspector extends CodeInspector {
continue;
}
// Must be in SearchProviderRegistry
if (!SettingsSearchIndexablesProvider.INDEXABLES.contains(clazz)) {
if (!SearchIndexableResources.providerValues().contains(clazz)) {
if (!notInSearchIndexableRegistryGrandfatherList.remove(className)) {
notInSearchProviderRegistry.add(className);
}

View File

@@ -18,7 +18,9 @@ package com.android.settings.search;
import static android.provider.SearchIndexablesContract.COLUMN_INDEX_NON_INDEXABLE_KEYS_KEY_VALUE;
import static com.google.common.truth.Truth.assertThat;
import static junit.framework.Assert.fail;
import static org.mockito.Mockito.spy;
import android.database.Cursor;
@@ -38,45 +40,45 @@ import java.util.HashSet;
import java.util.Set;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class SearchIndexableResourcesTest {
private Set<Class> mProviderClassCopy;
Set<Class> sProviderClassCopy;
@Before
public void setUp() {
mProviderClassCopy = new HashSet<>(SettingsSearchIndexablesProvider.INDEXABLES);
sProviderClassCopy = new HashSet<>(SearchIndexableResources.sProviders);
}
@After
public void cleanUp() {
SettingsSearchIndexablesProvider.INDEXABLES.clear();
SettingsSearchIndexablesProvider.INDEXABLES.addAll(mProviderClassCopy);
SearchIndexableResources.sProviders.clear();
SearchIndexableResources.sProviders.addAll(sProviderClassCopy);
}
@Test
public void testAddIndex() {
final Class stringClass = java.lang.String.class;
// Confirms that String.class isn't contained in SearchIndexableResources.
assertThat(SettingsSearchIndexablesProvider.INDEXABLES).doesNotContain(stringClass);
final int beforeCount = SettingsSearchIndexablesProvider.INDEXABLES.size();
assertThat(SearchIndexableResources.sProviders).doesNotContain(stringClass);
final int beforeCount = SearchIndexableResources.providerValues().size();
SettingsSearchIndexablesProvider.addIndex(java.lang.String.class);
SearchIndexableResources.addIndex(java.lang.String.class);
assertThat(SettingsSearchIndexablesProvider.INDEXABLES).contains(stringClass);
final int afterCount = SettingsSearchIndexablesProvider.INDEXABLES.size();
assertThat(SearchIndexableResources.sProviders).contains(stringClass);
final int afterCount = SearchIndexableResources.providerValues().size();
assertThat(afterCount).isEqualTo(beforeCount + 1);
}
@Test
public void testIndexHasWifiSettings() {
assertThat(mProviderClassCopy).contains(WifiSettings.class);
assertThat(sProviderClassCopy).contains(WifiSettings.class);
}
@Test
public void testNonIndexableKeys_GetsKeyFromProvider() {
SettingsSearchIndexablesProvider.INDEXABLES.clear();
SettingsSearchIndexablesProvider.addIndex(FakeIndexProvider.class);
SearchIndexableResources.sProviders.clear();
SearchIndexableResources.addIndex(FakeIndexProvider.class);
SettingsSearchIndexablesProvider provider = spy(new SettingsSearchIndexablesProvider());
@@ -95,7 +97,7 @@ public class SearchIndexableResourcesTest {
@Test
public void testAllClassNamesHaveProviders() {
for (Class clazz : mProviderClassCopy) {
for (Class clazz: sProviderClassCopy) {
if(DatabaseIndexingUtils.getSearchIndexProvider(clazz) == null) {
fail(clazz.getName() + "is not an index provider");
}

View File

@@ -2,6 +2,8 @@ package com.android.settings.search;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.spy;
import android.Manifest;
import android.content.Context;
import android.content.pm.ProviderInfo;
@@ -25,21 +27,21 @@ import java.util.HashSet;
import java.util.Set;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class SettingsSearchIndexablesProviderTest {
private final String BASE_AUTHORITY = "com.android.settings";
private SettingsSearchIndexablesProvider mProvider;
private Set<Class> mProviderClasses;
private Context mContext;
Set<Class> sProviderClasses;
Context mContext;
@Before
public void setUp() {
mContext = RuntimeEnvironment.application;
mProvider = new SettingsSearchIndexablesProvider();
mProvider = spy(new SettingsSearchIndexablesProvider());
ProviderInfo info = new ProviderInfo();
info.exported = true;
info.grantUriPermissions = true;
@@ -47,15 +49,15 @@ public class SettingsSearchIndexablesProviderTest {
info.readPermission = Manifest.permission.READ_SEARCH_INDEXABLES;
mProvider.attachInfo(mContext, info);
mProviderClasses = new HashSet<>(SettingsSearchIndexablesProvider.INDEXABLES);
SettingsSearchIndexablesProvider.INDEXABLES.clear();
SettingsSearchIndexablesProvider.INDEXABLES.add(FakeSettingsFragment.class);
sProviderClasses = new HashSet<>(SearchIndexableResources.sProviders);
SearchIndexableResources.sProviders.clear();
SearchIndexableResources.sProviders.add(FakeSettingsFragment.class);
}
@After
public void cleanUp() {
SettingsSearchIndexablesProvider.INDEXABLES.clear();
SettingsSearchIndexablesProvider.INDEXABLES.addAll(mProviderClasses);
SearchIndexableResources.sProviders.clear();
SearchIndexableResources.sProviders.addAll(sProviderClasses);
}
@Test

View File

@@ -20,6 +20,7 @@ import static junit.framework.Assert.fail;
import android.content.Context;
import android.platform.test.annotations.Presubmit;
import android.provider.SearchIndexableResource;
import android.support.test.InstrumentationRegistry;
import android.support.test.filters.MediumTest;
import android.support.test.runner.AndroidJUnit4;
@@ -27,7 +28,7 @@ import android.util.ArraySet;
import com.android.settings.search.DatabaseIndexingUtils;
import com.android.settings.search.Indexable;
import com.android.settings.search.SettingsSearchIndexablesProvider;
import com.android.settings.search.SearchIndexableResources;
import com.android.settingslib.core.AbstractPreferenceController;
import org.junit.Before;
@@ -53,7 +54,7 @@ public class PreferenceControllerContractTest {
public void controllersInSearchShouldImplementPreferenceControllerMixin() {
final Set<String> errorClasses = new ArraySet<>();
for (Class clazz: SettingsSearchIndexablesProvider.INDEXABLES) {
for (Class clazz: SearchIndexableResources.providerValues()) {
final Indexable.SearchIndexProvider provider =
DatabaseIndexingUtils.getSearchIndexProvider(clazz);

View File

@@ -33,7 +33,7 @@ import android.util.Xml;
import com.android.settings.search.DatabaseIndexingUtils;
import com.android.settings.search.Indexable;
import com.android.settings.search.SettingsSearchIndexablesProvider;
import com.android.settings.search.SearchIndexableResources;
import com.android.settings.search.XmlParserUtils;
import org.junit.Before;
@@ -90,7 +90,7 @@ public class UniquePreferenceTest {
final Set<String> uniqueKeys = new HashSet<>();
final Set<String> nullKeyClasses = new HashSet<>();
final Set<String> duplicatedKeys = new HashSet<>();
for (Class<?> clazz : SettingsSearchIndexablesProvider.INDEXABLES) {
for (Class<?> clazz : SearchIndexableResources.providerValues()) {
verifyPreferenceIdInXml(uniqueKeys, duplicatedKeys, nullKeyClasses, clazz);
}