1 /* 2 * Copyright (C) 2014 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.settings.search; 18 19 import android.support.annotation.VisibleForTesting; 20 21 import com.android.settings.DateTimeSettings; 22 import com.android.settings.DisplaySettings; 23 import com.android.settings.LegalSettings; 24 import com.android.settings.connecteddevice.AdvancedConnectedDeviceDashboardFragment; 25 import com.android.settings.connecteddevice.PreviouslyConnectedDeviceDashboardFragment; 26 import com.android.settings.connecteddevice.BluetoothDashboardFragment; 27 import com.android.settings.datausage.DataUsageSummaryLegacy; 28 import com.android.settings.deviceinfo.aboutphone.MyDeviceInfoFragment; 29 import com.android.settings.accessibility.AccessibilitySettings; 30 import com.android.settings.accessibility.AccessibilityShortcutPreferenceFragment; 31 import com.android.settings.accessibility.MagnificationPreferenceFragment; 32 import com.android.settings.accessibility.VibrationSettings; 33 import com.android.settings.accounts.AccountDashboardFragment; 34 import com.android.settings.applications.AppAndNotificationDashboardFragment; 35 import com.android.settings.applications.DefaultAppSettings; 36 import com.android.settings.applications.SpecialAccessSettings; 37 import com.android.settings.applications.assist.ManageAssist; 38 import com.android.settings.backup.BackupSettingsActivity; 39 import com.android.settings.backup.BackupSettingsFragment; 40 import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment; 41 import com.android.settings.connecteddevice.usb.UsbDetailsFragment; 42 import com.android.settings.datausage.DataUsageSummary; 43 import com.android.settings.deletionhelper.AutomaticStorageManagerSettings; 44 import com.android.settings.development.DevelopmentSettingsDashboardFragment; 45 import com.android.settings.deviceinfo.DeviceInfoSettings; 46 import com.android.settings.deviceinfo.StorageDashboardFragment; 47 import com.android.settings.deviceinfo.StorageSettings; 48 import com.android.settings.display.AmbientDisplaySettings; 49 import com.android.settings.display.AutoBrightnessSettings; 50 import com.android.settings.display.NightDisplaySettings; 51 import com.android.settings.display.ScreenZoomSettings; 52 import com.android.settings.dream.DreamSettings; 53 import com.android.settings.enterprise.EnterprisePrivacySettings; 54 import com.android.settings.fuelgauge.PowerUsageAdvanced; 55 import com.android.settings.fuelgauge.batterysaver.BatterySaverSettings; 56 import com.android.settings.fuelgauge.PowerUsageSummary; 57 import com.android.settings.fuelgauge.SmartBatterySettings; 58 import com.android.settings.gestures.AssistGestureSettings; 59 import com.android.settings.gestures.DoubleTapPowerSettings; 60 import com.android.settings.gestures.DoubleTapScreenSettings; 61 import com.android.settings.gestures.DoubleTwistGestureSettings; 62 import com.android.settings.gestures.SwipeUpGestureSettings; 63 import com.android.settings.gestures.GestureSettings; 64 import com.android.settings.gestures.PickupGestureSettings; 65 import com.android.settings.gestures.SwipeToNotificationSettings; 66 import com.android.settings.inputmethod.AvailableVirtualKeyboardFragment; 67 import com.android.settings.inputmethod.PhysicalKeyboardFragment; 68 import com.android.settings.inputmethod.VirtualKeyboardFragment; 69 import com.android.settings.language.LanguageAndInputSettings; 70 import com.android.settings.location.LocationSettings; 71 import com.android.settings.location.RecentLocationRequestSeeAllFragment; 72 import com.android.settings.location.ScanningSettings; 73 import com.android.settings.network.NetworkDashboardFragment; 74 import com.android.settings.nfc.PaymentSettings; 75 import com.android.settings.notification.ConfigureNotificationSettings; 76 import com.android.settings.notification.SoundSettings; 77 import com.android.settings.notification.ZenModeAutomationSettings; 78 import com.android.settings.notification.ZenModeCallsSettings; 79 import com.android.settings.notification.ZenModeMsgEventReminderSettings; 80 import com.android.settings.notification.ZenModeBlockedEffectsSettings; 81 import com.android.settings.notification.ZenModeRestrictNotificationsSettings; 82 import com.android.settings.notification.ZenModeSettings; 83 import com.android.settings.notification.ZenModeSoundVibrationSettings; 84 import com.android.settings.print.PrintSettingsFragment; 85 import com.android.settings.security.EncryptionAndCredential; 86 import com.android.settings.security.LockscreenDashboardFragment; 87 import com.android.settings.security.ScreenPinningSettings; 88 import com.android.settings.security.SecuritySettings; 89 import com.android.settings.security.screenlock.ScreenLockSettings; 90 import com.android.settings.sim.SimSettings; 91 import com.android.settings.support.SupportDashboardActivity; 92 import com.android.settings.system.ResetDashboardFragment; 93 import com.android.settings.system.SystemDashboardFragment; 94 import com.android.settings.tts.TextToSpeechSettings; 95 import com.android.settings.tts.TtsEnginePreferenceFragment; 96 import com.android.settings.users.UserSettings; 97 import com.android.settings.wallpaper.WallpaperTypeSettings; 98 import com.android.settings.wfd.WifiDisplaySettings; 99 import com.android.settings.wifi.ConfigureWifiSettings; 100 import com.android.settings.wifi.WifiSettings; 101 102 import java.util.Collection; 103 import java.util.HashSet; 104 import java.util.Set; 105 106 public class SearchIndexableResourcesImpl implements SearchIndexableResources { 107 108 private final Set<Class> sProviders = new HashSet<>(); 109 110 @VisibleForTesting 111 void addIndex(Class indexClass) { 112 sProviders.add(indexClass); 113 } 114 115 public SearchIndexableResourcesImpl() { 116 addIndex(WifiSettings.class); 117 addIndex(NetworkDashboardFragment.class); 118 addIndex(ConfigureWifiSettings.class); 119 addIndex(SimSettings.class); 120 addIndex(DataUsageSummary.class); 121 addIndex(DataUsageSummaryLegacy.class); 122 addIndex(ScreenZoomSettings.class); 123 addIndex(DisplaySettings.class); 124 addIndex(AutoBrightnessSettings.class); 125 addIndex(AmbientDisplaySettings.class); 126 addIndex(WallpaperTypeSettings.class); 127 addIndex(AppAndNotificationDashboardFragment.class); 128 addIndex(SoundSettings.class); 129 addIndex(ZenModeSettings.class); 130 addIndex(StorageSettings.class); 131 addIndex(PowerUsageAdvanced.class); 132 addIndex(DefaultAppSettings.class); 133 addIndex(ManageAssist.class); 134 addIndex(SpecialAccessSettings.class); 135 addIndex(UserSettings.class); 136 addIndex(AssistGestureSettings.class); 137 addIndex(PickupGestureSettings.class); 138 addIndex(DoubleTapScreenSettings.class); 139 addIndex(DoubleTapPowerSettings.class); 140 addIndex(DoubleTwistGestureSettings.class); 141 addIndex(SwipeUpGestureSettings.class); 142 addIndex(SwipeToNotificationSettings.class); 143 addIndex(GestureSettings.class); 144 addIndex(LanguageAndInputSettings.class); 145 addIndex(LocationSettings.class); 146 addIndex(ScanningSettings.class); 147 addIndex(SecuritySettings.class); 148 addIndex(ScreenLockSettings.class); 149 addIndex(EncryptionAndCredential.class); 150 addIndex(ScreenPinningSettings.class); 151 addIndex(AccountDashboardFragment.class); 152 addIndex(VirtualKeyboardFragment.class); 153 addIndex(AvailableVirtualKeyboardFragment.class); 154 addIndex(PhysicalKeyboardFragment.class); 155 addIndex(BackupSettingsActivity.class); 156 addIndex(BackupSettingsFragment.class); 157 addIndex(DateTimeSettings.class); 158 addIndex(AccessibilitySettings.class); 159 addIndex(PrintSettingsFragment.class); 160 addIndex(DevelopmentSettingsDashboardFragment.class); 161 addIndex(DeviceInfoSettings.class); 162 addIndex(LegalSettings.class); 163 addIndex(SystemDashboardFragment.class); 164 addIndex(ResetDashboardFragment.class); 165 addIndex(StorageDashboardFragment.class); 166 addIndex(ConnectedDeviceDashboardFragment.class); 167 addIndex(AdvancedConnectedDeviceDashboardFragment.class); 168 addIndex(EnterprisePrivacySettings.class); 169 addIndex(PaymentSettings.class); 170 addIndex(TextToSpeechSettings.class); 171 addIndex(TtsEnginePreferenceFragment.class); 172 addIndex(MagnificationPreferenceFragment.class); 173 addIndex(AccessibilityShortcutPreferenceFragment.class); 174 addIndex(DreamSettings.class); 175 addIndex(SupportDashboardActivity.class); 176 addIndex(AutomaticStorageManagerSettings.class); 177 addIndex(ConfigureNotificationSettings.class); 178 addIndex(PowerUsageSummary.class); 179 addIndex(BatterySaverSettings.class); 180 addIndex(LockscreenDashboardFragment.class); 181 addIndex(UsbDetailsFragment.class); 182 addIndex(WifiDisplaySettings.class); 183 addIndex(ZenModeMsgEventReminderSettings.class); 184 addIndex(ZenModeCallsSettings.class); 185 addIndex(ZenModeSoundVibrationSettings.class); 186 addIndex(ZenModeBlockedEffectsSettings.class); 187 addIndex(ZenModeAutomationSettings.class); 188 addIndex(ZenModeRestrictNotificationsSettings.class); 189 addIndex(NightDisplaySettings.class); 190 addIndex(SmartBatterySettings.class); 191 addIndex(MyDeviceInfoFragment.class); 192 addIndex(VibrationSettings.class); 193 addIndex(RecentLocationRequestSeeAllFragment.class); 194 addIndex(PreviouslyConnectedDeviceDashboardFragment.class); 195 addIndex(BluetoothDashboardFragment.class); 196 } 197 198 @Override 199 public Collection<Class> getProviderValues() { 200 return sProviders; 201 } 202 } 203