diff --git a/src/com/android/settings/search/SearchIndexableResources.java b/src/com/android/settings/search/SearchIndexableResources.java new file mode 100644 index 00000000000..c5243460eb3 --- /dev/null +++ b/src/com/android/settings/search/SearchIndexableResources.java @@ -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 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 providerValues() { return sProviders;} +} \ No newline at end of file diff --git a/src/com/android/settings/search/SettingsSearchIndexablesProvider.java b/src/com/android/settings/search/SettingsSearchIndexablesProvider.java index 0422e67198f..968847b9b27 100644 --- a/src/com/android/settings/search/SettingsSearchIndexablesProvider.java +++ b/src/com/android/settings/search/SettingsSearchIndexablesProvider.java @@ -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 INDEXABLES = new HashSet<>(); private static final Collection 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 getNonIndexableKeysFromProvider(Context context) { + final Collection values = SearchIndexableResources.providerValues(); final List 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 getSearchIndexableResourcesFromProvider(Context context) { + Collection values = SearchIndexableResources.providerValues(); List 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 getSearchIndexableRawFromProvider(Context context) { + final Collection values = SearchIndexableResources.providerValues(); final List rawList = new ArrayList<>(); - for (Class clazz : INDEXABLES) { + for (Class clazz : values) { Indexable.SearchIndexProvider provider = DatabaseIndexingUtils.getSearchIndexProvider( clazz); final List providerRaws = provider.getRawDataToIndex(context, diff --git a/tests/robotests/src/com/android/settings/search/SearchIndexProviderCodeInspector.java b/tests/robotests/src/com/android/settings/search/SearchIndexProviderCodeInspector.java index faf428054bd..3c51a90a51f 100644 --- a/tests/robotests/src/com/android/settings/search/SearchIndexProviderCodeInspector.java +++ b/tests/robotests/src/com/android/settings/search/SearchIndexProviderCodeInspector.java @@ -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 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); } diff --git a/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java b/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java index bb9d0ca3df9..eedb324ce28 100644 --- a/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java +++ b/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java @@ -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 mProviderClassCopy; + Set 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,8 +97,8 @@ public class SearchIndexableResourcesTest { @Test public void testAllClassNamesHaveProviders() { - for (Class clazz : mProviderClassCopy) { - if (DatabaseIndexingUtils.getSearchIndexProvider(clazz) == null) { + for (Class clazz: sProviderClassCopy) { + if(DatabaseIndexingUtils.getSearchIndexProvider(clazz) == null) { fail(clazz.getName() + "is not an index provider"); } } diff --git a/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java b/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java index 921dcb6380f..efeaed71cd2 100644 --- a/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java +++ b/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java @@ -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 mProviderClasses; - private Context mContext; + Set 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 diff --git a/tests/unit/src/com/android/settings/core/PreferenceControllerContractTest.java b/tests/unit/src/com/android/settings/core/PreferenceControllerContractTest.java index 5296c36d0e5..bc82125955f 100644 --- a/tests/unit/src/com/android/settings/core/PreferenceControllerContractTest.java +++ b/tests/unit/src/com/android/settings/core/PreferenceControllerContractTest.java @@ -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 errorClasses = new ArraySet<>(); - for (Class clazz: SettingsSearchIndexablesProvider.INDEXABLES) { + for (Class clazz: SearchIndexableResources.providerValues()) { final Indexable.SearchIndexProvider provider = DatabaseIndexingUtils.getSearchIndexProvider(clazz); diff --git a/tests/unit/src/com/android/settings/core/UniquePreferenceTest.java b/tests/unit/src/com/android/settings/core/UniquePreferenceTest.java index 87b1a32512d..5f3e512b2f5 100644 --- a/tests/unit/src/com/android/settings/core/UniquePreferenceTest.java +++ b/tests/unit/src/com/android/settings/core/UniquePreferenceTest.java @@ -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 uniqueKeys = new HashSet<>(); final Set nullKeyClasses = new HashSet<>(); final Set duplicatedKeys = new HashSet<>(); - for (Class clazz : SettingsSearchIndexablesProvider.INDEXABLES) { + for (Class clazz : SearchIndexableResources.providerValues()) { verifyPreferenceIdInXml(uniqueKeys, duplicatedKeys, nullKeyClasses, clazz); }