2 * Copyright (C) 2014 The Android Open Source Project
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 package com.android.settings.search;
19 import android.provider.SearchIndexableResource;
20 import com.android.settings.DateTimeSettings;
21 import com.android.settings.DevelopmentSettings;
22 import com.android.settings.DeviceInfoSettings;
23 import com.android.settings.DisplaySettings;
24 import com.android.settings.LegalSettings;
25 import com.android.settings.PrivacySettings;
26 import com.android.settings.R;
27 import com.android.settings.ScreenPinningSettings;
28 import com.android.settings.SecuritySettings;
29 import com.android.settings.WallpaperTypeSettings;
30 import com.android.settings.WirelessSettings;
31 import com.android.settings.accessibility.AccessibilitySettings;
32 import com.android.settings.accounts.AccountSettings;
33 import com.android.settings.applications.AdvancedAppSettings;
34 import com.android.settings.applications.SpecialAccessSettings;
35 import com.android.settings.bluetooth.BluetoothSettings;
36 import com.android.settings.datausage.DataUsageMeteredSettings;
37 import com.android.settings.datausage.DataUsageSummary;
38 import com.android.settings.deviceinfo.StorageSettings;
39 import com.android.settings.display.ScreenZoomSettings;
40 import com.android.settings.fuelgauge.BatterySaverSettings;
41 import com.android.settings.fuelgauge.PowerUsageSummary;
42 import com.android.settings.gestures.GestureSettings;
43 import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
44 import com.android.settings.location.LocationSettings;
45 import com.android.settings.location.ScanningSettings;
46 import com.android.settings.notification.ConfigureNotificationSettings;
47 import com.android.settings.notification.OtherSoundSettings;
48 import com.android.settings.notification.SoundSettings;
49 import com.android.settings.notification.ZenModePrioritySettings;
50 import com.android.settings.notification.ZenModeSettings;
51 import com.android.settings.notification.ZenModeVisualInterruptionSettings;
52 import com.android.settings.print.PrintSettingsFragment;
53 import com.android.settings.sim.SimSettings;
54 import com.android.settings.users.UserSettings;
55 import com.android.settings.wifi.AdvancedWifiSettings;
56 import com.android.settings.wifi.SavedAccessPointsWifiSettings;
57 import com.android.settings.wifi.WifiSettings;
59 import java.util.Collection;
60 import java.util.HashMap;
62 public final class SearchIndexableResources {
64 public static int NO_DATA_RES_ID = 0;
66 private static HashMap<String, SearchIndexableResource> sResMap =
67 new HashMap<String, SearchIndexableResource>();
70 sResMap.put(WifiSettings.class.getName(),
71 new SearchIndexableResource(
72 Ranking.getRankForClassName(WifiSettings.class.getName()),
74 WifiSettings.class.getName(),
75 R.drawable.ic_settings_wireless));
77 sResMap.put(AdvancedWifiSettings.class.getName(),
78 new SearchIndexableResource(
79 Ranking.getRankForClassName(AdvancedWifiSettings.class.getName()),
80 R.xml.wifi_advanced_settings,
81 AdvancedWifiSettings.class.getName(),
82 R.drawable.ic_settings_wireless));
84 sResMap.put(SavedAccessPointsWifiSettings.class.getName(),
85 new SearchIndexableResource(
86 Ranking.getRankForClassName(SavedAccessPointsWifiSettings.class.getName()),
87 R.xml.wifi_display_saved_access_points,
88 SavedAccessPointsWifiSettings.class.getName(),
89 R.drawable.ic_settings_wireless));
91 sResMap.put(BluetoothSettings.class.getName(),
92 new SearchIndexableResource(
93 Ranking.getRankForClassName(BluetoothSettings.class.getName()),
95 BluetoothSettings.class.getName(),
96 R.drawable.ic_settings_bluetooth));
98 sResMap.put(SimSettings.class.getName(),
99 new SearchIndexableResource(
100 Ranking.getRankForClassName(SimSettings.class.getName()),
102 SimSettings.class.getName(),
103 R.drawable.ic_sim_sd));
105 sResMap.put(DataUsageSummary.class.getName(),
106 new SearchIndexableResource(
107 Ranking.getRankForClassName(DataUsageSummary.class.getName()),
109 DataUsageSummary.class.getName(),
110 R.drawable.ic_settings_data_usage));
112 sResMap.put(DataUsageMeteredSettings.class.getName(),
113 new SearchIndexableResource(
114 Ranking.getRankForClassName(DataUsageMeteredSettings.class.getName()),
116 DataUsageMeteredSettings.class.getName(),
117 R.drawable.ic_settings_data_usage));
119 sResMap.put(WirelessSettings.class.getName(),
120 new SearchIndexableResource(
121 Ranking.getRankForClassName(WirelessSettings.class.getName()),
123 WirelessSettings.class.getName(),
124 R.drawable.ic_settings_more));
126 sResMap.put(ScreenZoomSettings.class.getName(),
127 new SearchIndexableResource(
128 Ranking.getRankForClassName(ScreenZoomSettings.class.getName()),
130 ScreenZoomSettings.class.getName(),
131 R.drawable.ic_settings_display));
133 sResMap.put(DisplaySettings.class.getName(),
134 new SearchIndexableResource(
135 Ranking.getRankForClassName(DisplaySettings.class.getName()),
137 DisplaySettings.class.getName(),
138 R.drawable.ic_settings_display));
140 sResMap.put(WallpaperTypeSettings.class.getName(),
141 new SearchIndexableResource(
142 Ranking.getRankForClassName(WallpaperTypeSettings.class.getName()),
144 WallpaperTypeSettings.class.getName(),
145 R.drawable.ic_settings_display));
147 sResMap.put(ConfigureNotificationSettings.class.getName(),
148 new SearchIndexableResource(
149 Ranking.getRankForClassName(ConfigureNotificationSettings.class.getName()),
150 R.xml.configure_notification_settings,
151 ConfigureNotificationSettings.class.getName(),
152 R.drawable.ic_settings_notifications));
154 sResMap.put(SoundSettings.class.getName(),
155 new SearchIndexableResource(
156 Ranking.getRankForClassName(SoundSettings.class.getName()),
158 SoundSettings.class.getName(),
159 R.drawable.ic_settings_sound));
161 sResMap.put(OtherSoundSettings.class.getName(),
162 new SearchIndexableResource(
163 Ranking.getRankForClassName(OtherSoundSettings.class.getName()),
165 OtherSoundSettings.class.getName(),
166 R.drawable.ic_settings_sound));
168 sResMap.put(ZenModeSettings.class.getName(),
169 new SearchIndexableResource(
170 Ranking.getRankForClassName(ZenModeSettings.class.getName()),
171 R.xml.zen_mode_settings,
172 ZenModeSettings.class.getName(),
173 R.drawable.ic_settings_notifications));
175 sResMap.put(ZenModePrioritySettings.class.getName(),
176 new SearchIndexableResource(
177 Ranking.getRankForClassName(ZenModePrioritySettings.class.getName()),
178 R.xml.zen_mode_priority_settings,
179 ZenModePrioritySettings.class.getName(),
180 R.drawable.ic_settings_notifications));
182 sResMap.put(StorageSettings.class.getName(),
183 new SearchIndexableResource(
184 Ranking.getRankForClassName(StorageSettings.class.getName()),
186 StorageSettings.class.getName(),
187 R.drawable.ic_settings_storage));
189 sResMap.put(PowerUsageSummary.class.getName(),
190 new SearchIndexableResource(
191 Ranking.getRankForClassName(PowerUsageSummary.class.getName()),
192 R.xml.power_usage_summary,
193 PowerUsageSummary.class.getName(),
194 R.drawable.ic_settings_battery));
196 sResMap.put(BatterySaverSettings.class.getName(),
197 new SearchIndexableResource(
198 Ranking.getRankForClassName(BatterySaverSettings.class.getName()),
199 R.xml.battery_saver_settings,
200 BatterySaverSettings.class.getName(),
201 R.drawable.ic_settings_battery));
203 sResMap.put(AdvancedAppSettings.class.getName(),
204 new SearchIndexableResource(
205 Ranking.getRankForClassName(AdvancedAppSettings.class.getName()),
207 AdvancedAppSettings.class.getName(),
208 R.drawable.ic_settings_applications));
210 sResMap.put(SpecialAccessSettings.class.getName(),
211 new SearchIndexableResource(
212 Ranking.getRankForClassName(SpecialAccessSettings.class.getName()),
213 R.xml.special_access,
214 SpecialAccessSettings.class.getName(),
215 R.drawable.ic_settings_applications));
217 sResMap.put(UserSettings.class.getName(),
218 new SearchIndexableResource(
219 Ranking.getRankForClassName(UserSettings.class.getName()),
221 UserSettings.class.getName(),
222 R.drawable.ic_settings_multiuser));
224 sResMap.put(GestureSettings.class.getName(),
225 new SearchIndexableResource(
226 Ranking.getRankForClassName(GestureSettings.class.getName()),
228 GestureSettings.class.getName(),
229 R.drawable.ic_settings_gestures));
231 sResMap.put(LocationSettings.class.getName(),
232 new SearchIndexableResource(
233 Ranking.getRankForClassName(LocationSettings.class.getName()),
234 R.xml.location_settings,
235 LocationSettings.class.getName(),
236 R.drawable.ic_settings_location));
238 sResMap.put(ScanningSettings.class.getName(),
239 new SearchIndexableResource(
240 Ranking.getRankForClassName(ScanningSettings.class.getName()),
241 R.xml.location_scanning,
242 ScanningSettings.class.getName(),
243 R.drawable.ic_settings_location));
245 sResMap.put(SecuritySettings.class.getName(),
246 new SearchIndexableResource(
247 Ranking.getRankForClassName(SecuritySettings.class.getName()),
249 SecuritySettings.class.getName(),
250 R.drawable.ic_settings_security));
252 sResMap.put(ScreenPinningSettings.class.getName(),
253 new SearchIndexableResource(
254 Ranking.getRankForClassName(ScreenPinningSettings.class.getName()),
256 ScreenPinningSettings.class.getName(),
257 R.drawable.ic_settings_security));
259 sResMap.put(AccountSettings.class.getName(),
260 new SearchIndexableResource(
261 Ranking.getRankForClassName(AccountSettings.class.getName()),
263 AccountSettings.class.getName(),
264 R.drawable.ic_settings_accounts));
266 sResMap.put(InputMethodAndLanguageSettings.class.getName(),
267 new SearchIndexableResource(
268 Ranking.getRankForClassName(InputMethodAndLanguageSettings.class.getName()),
270 InputMethodAndLanguageSettings.class.getName(),
271 R.drawable.ic_settings_language));
273 sResMap.put(PrivacySettings.class.getName(),
274 new SearchIndexableResource(
275 Ranking.getRankForClassName(PrivacySettings.class.getName()),
277 PrivacySettings.class.getName(),
278 R.drawable.ic_settings_backup));
280 sResMap.put(DateTimeSettings.class.getName(),
281 new SearchIndexableResource(
282 Ranking.getRankForClassName(DateTimeSettings.class.getName()),
284 DateTimeSettings.class.getName(),
285 R.drawable.ic_settings_date_time));
287 sResMap.put(AccessibilitySettings.class.getName(),
288 new SearchIndexableResource(
289 Ranking.getRankForClassName(AccessibilitySettings.class.getName()),
291 AccessibilitySettings.class.getName(),
292 R.drawable.ic_settings_accessibility));
294 sResMap.put(PrintSettingsFragment.class.getName(),
295 new SearchIndexableResource(
296 Ranking.getRankForClassName(PrintSettingsFragment.class.getName()),
298 PrintSettingsFragment.class.getName(),
299 R.drawable.ic_settings_print));
301 sResMap.put(DevelopmentSettings.class.getName(),
302 new SearchIndexableResource(
303 Ranking.getRankForClassName(DevelopmentSettings.class.getName()),
305 DevelopmentSettings.class.getName(),
306 R.drawable.ic_settings_development));
308 sResMap.put(DeviceInfoSettings.class.getName(),
309 new SearchIndexableResource(
310 Ranking.getRankForClassName(DeviceInfoSettings.class.getName()),
312 DeviceInfoSettings.class.getName(),
313 R.drawable.ic_settings_about));
315 sResMap.put(LegalSettings.class.getName(),
316 new SearchIndexableResource(
317 Ranking.getRankForClassName(LegalSettings.class.getName()),
319 LegalSettings.class.getName(),
320 R.drawable.ic_settings_about));
322 sResMap.put(ZenModeVisualInterruptionSettings.class.getName(),
323 new SearchIndexableResource(
324 Ranking.getRankForClassName(
325 ZenModeVisualInterruptionSettings.class.getName()),
326 R.xml.zen_mode_visual_interruptions_settings,
327 ZenModeVisualInterruptionSettings.class.getName(),
328 R.drawable.ic_settings_notifications));
331 private SearchIndexableResources() {
334 public static int size() {
335 return sResMap.size();
338 public static SearchIndexableResource getResourceByName(String className) {
339 return sResMap.get(className);
342 public static Collection<SearchIndexableResource> values() {
343 return sResMap.values();