Add capability for OEMs to supply their own SearchIndexableResources.
This moves SearchIndexableResources to be supplied by FeatureFactory rather than its own singleton, which in effect allows OEMs to supply their own, in the case where they have their own classes they want to be indexed (or, remove certain classes that used to be indexed). Bug: 72179744 Test: All tests pass. Change-Id: Ia06b2026df7eca4c53b44a5a589c4aaa0b69d96c
This commit is contained in:
@@ -48,6 +48,11 @@ public interface SearchFeatureProvider {
|
||||
|
||||
DatabaseIndexingManager getIndexingManager(Context context);
|
||||
|
||||
/**
|
||||
* @return a {@link SearchIndexableResources} to be used for indexing search results.
|
||||
*/
|
||||
SearchIndexableResources getSearchIndexableResources();
|
||||
|
||||
default String getSettingsIntelligencePkgName() {
|
||||
return "com.android.settings.intelligence";
|
||||
}
|
||||
|
@@ -36,6 +36,7 @@ public class SearchFeatureProviderImpl implements SearchFeatureProvider {
|
||||
|
||||
private static final String METRICS_ACTION_SETTINGS_INDEX = "search_synchronous_indexing";
|
||||
private DatabaseIndexingManager mDatabaseIndexingManager;
|
||||
private SearchIndexableResources mSearchIndexableResources;
|
||||
|
||||
@Override
|
||||
public void verifyLaunchSearchResultPageCaller(Context context, ComponentName caller) {
|
||||
@@ -72,6 +73,14 @@ public class SearchFeatureProviderImpl implements SearchFeatureProvider {
|
||||
.histogram(context, METRICS_ACTION_SETTINGS_INDEX, indexingTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SearchIndexableResources getSearchIndexableResources() {
|
||||
if (mSearchIndexableResources == null) {
|
||||
mSearchIndexableResources = new SearchIndexableResourcesImpl();
|
||||
}
|
||||
return mSearchIndexableResources;
|
||||
}
|
||||
|
||||
protected boolean isSignatureWhitelisted(Context context, String callerPackage) {
|
||||
return false;
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2014 The Android Open Source Project
|
||||
* Copyright (C) 2018 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.
|
||||
@@ -16,170 +16,14 @@
|
||||
|
||||
package com.android.settings.search;
|
||||
|
||||
import android.support.annotation.VisibleForTesting;
|
||||
|
||||
import com.android.settings.DateTimeSettings;
|
||||
import com.android.settings.DisplaySettings;
|
||||
import com.android.settings.LegalSettings;
|
||||
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.AdvancedConnectedDeviceDashboardFragment;
|
||||
import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
|
||||
import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragmentOld;
|
||||
import com.android.settings.datausage.DataUsageSummary;
|
||||
import com.android.settings.deletionhelper.AutomaticStorageManagerSettings;
|
||||
import com.android.settings.development.DevelopmentSettingsDashboardFragment;
|
||||
import com.android.settings.deviceinfo.DeviceInfoSettings;
|
||||
import com.android.settings.deviceinfo.StorageDashboardFragment;
|
||||
import com.android.settings.deviceinfo.StorageSettings;
|
||||
import com.android.settings.display.AmbientDisplaySettings;
|
||||
import com.android.settings.display.NightDisplaySettings;
|
||||
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.fuelgauge.SmartBatterySettings;
|
||||
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.LocationMode;
|
||||
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.ScreenPinningSettings;
|
||||
import com.android.settings.security.SecuritySettingsV2;
|
||||
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.wfd.WifiDisplaySettings;
|
||||
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 {
|
||||
public interface 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(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(LocationMode.class);
|
||||
addIndex(ScanningSettings.class);
|
||||
addIndex(SecuritySettingsV2.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(LegalSettings.class);
|
||||
addIndex(SystemDashboardFragment.class);
|
||||
addIndex(ResetDashboardFragment.class);
|
||||
addIndex(StorageDashboardFragment.class);
|
||||
addIndex(ConnectedDeviceDashboardFragment.class);
|
||||
addIndex(ConnectedDeviceDashboardFragmentOld.class);
|
||||
addIndex(AdvancedConnectedDeviceDashboardFragment.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(WifiDisplaySettings.class);
|
||||
addIndex(ZenModeBehaviorSettings.class);
|
||||
addIndex(ZenModeAutomationSettings.class);
|
||||
addIndex(NightDisplaySettings.class);
|
||||
addIndex(SmartBatterySettings.class);
|
||||
}
|
||||
|
||||
private SearchIndexableResources() {
|
||||
}
|
||||
|
||||
public static Collection<Class> providerValues() {
|
||||
return sProviders;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Returns a collection of classes that should be indexed for search.
|
||||
*
|
||||
* Each class should have the SEARCH_INDEX_DATA_PROVIDER public static member.
|
||||
*/
|
||||
Collection<Class> getProviderValues();
|
||||
}
|
||||
|
@@ -0,0 +1,182 @@
|
||||
/*
|
||||
* 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.DisplaySettings;
|
||||
import com.android.settings.LegalSettings;
|
||||
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.AdvancedConnectedDeviceDashboardFragment;
|
||||
import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
|
||||
import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragmentOld;
|
||||
import com.android.settings.datausage.DataUsageSummary;
|
||||
import com.android.settings.deletionhelper.AutomaticStorageManagerSettings;
|
||||
import com.android.settings.development.DevelopmentSettingsDashboardFragment;
|
||||
import com.android.settings.deviceinfo.DeviceInfoSettings;
|
||||
import com.android.settings.deviceinfo.StorageDashboardFragment;
|
||||
import com.android.settings.deviceinfo.StorageSettings;
|
||||
import com.android.settings.display.AmbientDisplaySettings;
|
||||
import com.android.settings.display.NightDisplaySettings;
|
||||
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.fuelgauge.SmartBatterySettings;
|
||||
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.LocationMode;
|
||||
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.ScreenPinningSettings;
|
||||
import com.android.settings.security.SecuritySettingsV2;
|
||||
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.wfd.WifiDisplaySettings;
|
||||
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 class SearchIndexableResourcesImpl implements SearchIndexableResources {
|
||||
|
||||
private final Set<Class> sProviders = new HashSet<>();
|
||||
|
||||
@VisibleForTesting
|
||||
void addIndex(Class indexClass) {
|
||||
sProviders.add(indexClass);
|
||||
}
|
||||
|
||||
public SearchIndexableResourcesImpl() {
|
||||
addIndex(WifiSettings.class);
|
||||
addIndex(NetworkDashboardFragment.class);
|
||||
addIndex(ConfigureWifiSettings.class);
|
||||
addIndex(BluetoothSettings.class);
|
||||
addIndex(SimSettings.class);
|
||||
addIndex(DataUsageSummary.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(LocationMode.class);
|
||||
addIndex(ScanningSettings.class);
|
||||
addIndex(SecuritySettingsV2.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(LegalSettings.class);
|
||||
addIndex(SystemDashboardFragment.class);
|
||||
addIndex(ResetDashboardFragment.class);
|
||||
addIndex(StorageDashboardFragment.class);
|
||||
addIndex(ConnectedDeviceDashboardFragment.class);
|
||||
addIndex(ConnectedDeviceDashboardFragmentOld.class);
|
||||
addIndex(AdvancedConnectedDeviceDashboardFragment.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(WifiDisplaySettings.class);
|
||||
addIndex(ZenModeBehaviorSettings.class);
|
||||
addIndex(ZenModeAutomationSettings.class);
|
||||
addIndex(NightDisplaySettings.class);
|
||||
addIndex(SmartBatterySettings.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<Class> getProviderValues() {
|
||||
return sProviders;
|
||||
}
|
||||
}
|
@@ -175,7 +175,8 @@ public class SettingsSearchIndexablesProvider extends SearchIndexablesProvider {
|
||||
}
|
||||
|
||||
private List<String> getNonIndexableKeysFromProvider(Context context) {
|
||||
final Collection<Class> values = SearchIndexableResources.providerValues();
|
||||
final Collection<Class> values = FeatureFactory.getFactory(context)
|
||||
.getSearchFeatureProvider().getSearchIndexableResources().getProviderValues();
|
||||
final List<String> nonIndexableKeys = new ArrayList<>();
|
||||
|
||||
for (Class<?> clazz : values) {
|
||||
@@ -209,7 +210,8 @@ public class SettingsSearchIndexablesProvider extends SearchIndexablesProvider {
|
||||
}
|
||||
|
||||
private List<SearchIndexableResource> getSearchIndexableResourcesFromProvider(Context context) {
|
||||
Collection<Class> values = SearchIndexableResources.providerValues();
|
||||
Collection<Class> values = FeatureFactory.getFactory(context)
|
||||
.getSearchFeatureProvider().getSearchIndexableResources().getProviderValues();
|
||||
List<SearchIndexableResource> resourceList = new ArrayList<>();
|
||||
|
||||
for (Class<?> clazz : values) {
|
||||
@@ -236,7 +238,8 @@ public class SettingsSearchIndexablesProvider extends SearchIndexablesProvider {
|
||||
}
|
||||
|
||||
private List<SearchIndexableRaw> getSearchIndexableRawFromProvider(Context context) {
|
||||
final Collection<Class> values = SearchIndexableResources.providerValues();
|
||||
final Collection<Class> values = FeatureFactory.getFactory(context)
|
||||
.getSearchFeatureProvider().getSearchIndexableResources().getProviderValues();
|
||||
final List<SearchIndexableRaw> rawList = new ArrayList<>();
|
||||
|
||||
for (Class<?> clazz : values) {
|
||||
|
@@ -27,9 +27,9 @@ import android.util.Log;
|
||||
import android.util.Xml;
|
||||
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.search.DatabaseIndexingUtils;
|
||||
import com.android.settings.search.Indexable.SearchIndexProvider;
|
||||
import com.android.settings.search.SearchIndexableResources;
|
||||
import com.android.settings.search.XmlParserUtils;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
@@ -62,7 +62,8 @@ class SliceDataConverter {
|
||||
* @return a list of {@link SliceData} to be indexed and later referenced as a Slice.
|
||||
*
|
||||
* The collection works as follows:
|
||||
* - Collects a list of Fragments from {@link SearchIndexableResources}.
|
||||
* - Collects a list of Fragments from
|
||||
* {@link FeatureFactory#getSearchFeatureProvider()}.
|
||||
* - From each fragment, grab a {@link SearchIndexProvider}.
|
||||
* - For each provider, collect XML resource layout and a list of
|
||||
* {@link com.android.settings.core.BasePreferenceController}.
|
||||
@@ -72,7 +73,8 @@ class SliceDataConverter {
|
||||
return mSliceData;
|
||||
}
|
||||
|
||||
final Collection<Class> indexableClasses = SearchIndexableResources.providerValues();
|
||||
final Collection<Class> indexableClasses = FeatureFactory.getFactory(mContext)
|
||||
.getSearchFeatureProvider().getSearchIndexableResources().getProviderValues();
|
||||
|
||||
for (Class clazz : indexableClasses) {
|
||||
final String fragmentName = clazz.getName();
|
||||
|
Reference in New Issue
Block a user