• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
addIndex(Class indexClass)111     void addIndex(Class indexClass) {
112         sProviders.add(indexClass);
113     }
114 
SearchIndexableResourcesImpl()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
getProviderValues()199     public Collection<Class> getProviderValues() {
200         return sProviders;
201     }
202 }
203