blob: 7cb0dd1567bafd39b9d17d2503fd8a8585444920 [file] [log] [blame]
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -07001/*
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
17package com.android.settings.search;
18
19import android.provider.SearchIndexableResource;
John Spurlock4a350512014-04-08 14:08:21 -040020
Fabrice Di Meglio758c3ff2014-04-10 13:47:30 -070021import com.android.settings.DataUsageSummary;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070022import com.android.settings.DateTimeSettings;
23import com.android.settings.DevelopmentSettings;
24import com.android.settings.DeviceInfoSettings;
25import com.android.settings.DisplaySettings;
26import com.android.settings.HomeSettings;
Jason Monkf9402322015-06-10 10:02:59 -040027import com.android.settings.LegalSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070028import com.android.settings.PrivacySettings;
29import com.android.settings.R;
John Spurlock45fa1402015-04-09 12:50:04 -040030import com.android.settings.ScreenPinningSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070031import com.android.settings.SecuritySettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070032import com.android.settings.WallpaperTypeSettings;
John Spurlock45fa1402015-04-09 12:50:04 -040033import com.android.settings.WifiCallingSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070034import com.android.settings.WirelessSettings;
35import com.android.settings.accessibility.AccessibilitySettings;
Jason Monk5b3aa362015-03-18 16:03:57 -040036import com.android.settings.applications.AdvancedAppSettings;
Jason Monk73a24962015-04-13 20:58:05 -040037import com.android.settings.applications.ManageDefaultApps;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070038import com.android.settings.bluetooth.BluetoothSettings;
Jeff Sharkey42833b22015-04-11 21:27:33 -070039import com.android.settings.deviceinfo.StorageSettings;
John Spurlockc7f8e8c2014-06-04 19:11:22 -040040import com.android.settings.fuelgauge.BatterySaverSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070041import com.android.settings.fuelgauge.PowerUsageSummary;
42import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
43import com.android.settings.location.LocationSettings;
Lifu Tangff6d4892015-03-26 17:56:52 -070044import com.android.settings.location.ScanningSettings;
Fabrice Di Meglioc9711be2014-06-17 12:30:18 -070045import com.android.settings.net.DataUsageMeteredSettings;
John Spurlock4a350512014-04-08 14:08:21 -040046import com.android.settings.notification.NotificationSettings;
John Spurlock4e4cdef2014-05-28 09:43:45 -040047import com.android.settings.notification.OtherSoundSettings;
John Spurlock48bbd5d2015-04-03 13:51:03 -040048import com.android.settings.notification.ZenModePrioritySettings;
John Spurlock4a350512014-04-08 14:08:21 -040049import com.android.settings.notification.ZenModeSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070050import com.android.settings.print.PrintSettingsFragment;
PauloftheWest38155612014-06-30 10:02:36 -070051import com.android.settings.sim.SimSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070052import com.android.settings.users.UserSettings;
Fabrice Di Meglio9dc5f802014-08-12 14:57:29 -070053import com.android.settings.voice.VoiceInputSettings;
Fabrice Di Meglio34483742014-05-09 19:08:44 -070054import com.android.settings.wifi.AdvancedWifiSettings;
PauloftheWest7837b992014-06-24 07:42:27 -070055import com.android.settings.wifi.SavedAccessPointsWifiSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070056import com.android.settings.wifi.WifiSettings;
57
58import java.util.Collection;
59import java.util.HashMap;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070060
61public final class SearchIndexableResources {
62
Fabrice Di Meglioa9d37052014-04-10 17:58:27 -070063 public static int NO_DATA_RES_ID = 0;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070064
65 private static HashMap<String, SearchIndexableResource> sResMap =
66 new HashMap<String, SearchIndexableResource>();
67
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070068 static {
69 sResMap.put(WifiSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -070070 new SearchIndexableResource(
71 Ranking.getRankForClassName(WifiSettings.class.getName()),
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070072 NO_DATA_RES_ID,
73 WifiSettings.class.getName(),
74 R.drawable.ic_settings_wireless));
75
Fabrice Di Meglio74ef69a2014-06-26 15:50:33 -070076 sResMap.put(AdvancedWifiSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -070077 new SearchIndexableResource(
78 Ranking.getRankForClassName(AdvancedWifiSettings.class.getName()),
Fabrice Di Meglio34483742014-05-09 19:08:44 -070079 R.xml.wifi_advanced_settings,
80 AdvancedWifiSettings.class.getName(),
81 R.drawable.ic_settings_wireless));
82
PauloftheWest7837b992014-06-24 07:42:27 -070083 sResMap.put(SavedAccessPointsWifiSettings.class.getName(),
84 new SearchIndexableResource(
85 Ranking.getRankForClassName(SavedAccessPointsWifiSettings.class.getName()),
86 R.xml.wifi_display_saved_access_points,
87 SavedAccessPointsWifiSettings.class.getName(),
88 R.drawable.ic_settings_wireless));
89
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070090 sResMap.put(BluetoothSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -070091 new SearchIndexableResource(
92 Ranking.getRankForClassName(BluetoothSettings.class.getName()),
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070093 NO_DATA_RES_ID,
94 BluetoothSettings.class.getName(),
Jason Monkf2819e02015-06-02 13:03:24 -040095 R.drawable.ic_settings_bluetooth));
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070096
PauloftheWest38155612014-06-30 10:02:36 -070097 sResMap.put(SimSettings.class.getName(),
98 new SearchIndexableResource(
99 Ranking.getRankForClassName(SimSettings.class.getName()),
Fabrice Di Meglio22a2a492014-08-08 12:27:57 -0700100 NO_DATA_RES_ID,
PauloftheWest38155612014-06-30 10:02:36 -0700101 SimSettings.class.getName(),
102 R.drawable.ic_sim_sd));
103
Fabrice Di Meglio758c3ff2014-04-10 13:47:30 -0700104 sResMap.put(DataUsageSummary.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700105 new SearchIndexableResource(
106 Ranking.getRankForClassName(DataUsageSummary.class.getName()),
Fabrice Di Meglio758c3ff2014-04-10 13:47:30 -0700107 NO_DATA_RES_ID,
108 DataUsageSummary.class.getName(),
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700109 R.drawable.ic_settings_data_usage));
110
Fabrice Di Meglioc9711be2014-06-17 12:30:18 -0700111 sResMap.put(DataUsageMeteredSettings.class.getName(),
112 new SearchIndexableResource(
113 Ranking.getRankForClassName(DataUsageMeteredSettings.class.getName()),
114 NO_DATA_RES_ID,
115 DataUsageMeteredSettings.class.getName(),
116 R.drawable.ic_settings_data_usage));
117
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700118 sResMap.put(WirelessSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700119 new SearchIndexableResource(
120 Ranking.getRankForClassName(WirelessSettings.class.getName()),
Fabrice Di Megliodba577f2014-06-06 16:31:45 -0700121 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700122 WirelessSettings.class.getName(),
Fabrice Di Megliodba577f2014-06-06 16:31:45 -0700123 R.drawable.ic_settings_more));
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700124
125 sResMap.put(HomeSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700126 new SearchIndexableResource(
127 Ranking.getRankForClassName(HomeSettings.class.getName()),
Fabrice Di Megliod73045d2014-07-22 15:06:31 -0700128 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700129 HomeSettings.class.getName(),
130 R.drawable.ic_settings_home));
131
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700132 sResMap.put(DisplaySettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700133 new SearchIndexableResource(
134 Ranking.getRankForClassName(DisplaySettings.class.getName()),
Adrian Roos8ab09542014-06-02 20:33:56 +0200135 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700136 DisplaySettings.class.getName(),
137 R.drawable.ic_settings_display));
138
139 sResMap.put(WallpaperTypeSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700140 new SearchIndexableResource(
141 Ranking.getRankForClassName(WallpaperTypeSettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700142 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700143 WallpaperTypeSettings.class.getName(),
144 R.drawable.ic_settings_display));
145
Fabrice Di Meglio95937822014-03-31 19:46:42 -0700146 sResMap.put(NotificationSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700147 new SearchIndexableResource(
148 Ranking.getRankForClassName(NotificationSettings.class.getName()),
John Spurlock57c713d2014-05-27 11:10:52 -0400149 NO_DATA_RES_ID,
Fabrice Di Meglio95937822014-03-31 19:46:42 -0700150 NotificationSettings.class.getName(),
151 R.drawable.ic_settings_notifications));
152
John Spurlock4e4cdef2014-05-28 09:43:45 -0400153 sResMap.put(OtherSoundSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700154 new SearchIndexableResource(
155 Ranking.getRankForClassName(OtherSoundSettings.class.getName()),
John Spurlock4e4cdef2014-05-28 09:43:45 -0400156 NO_DATA_RES_ID,
157 OtherSoundSettings.class.getName(),
John Spurlock81bef1d72014-05-16 15:50:13 -0400158 R.drawable.ic_settings_notifications));
159
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700160 sResMap.put(ZenModeSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700161 new SearchIndexableResource(
162 Ranking.getRankForClassName(ZenModeSettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700163 NO_DATA_RES_ID,
164 ZenModeSettings.class.getName(),
165 R.drawable.ic_settings_notifications));
166
John Spurlock48bbd5d2015-04-03 13:51:03 -0400167 sResMap.put(ZenModePrioritySettings.class.getName(),
168 new SearchIndexableResource(
169 Ranking.getRankForClassName(ZenModePrioritySettings.class.getName()),
170 R.xml.zen_mode_priority_settings,
171 ZenModePrioritySettings.class.getName(),
172 R.drawable.ic_settings_notifications));
173
Jeff Sharkey42833b22015-04-11 21:27:33 -0700174 sResMap.put(StorageSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700175 new SearchIndexableResource(
Jeff Sharkey42833b22015-04-11 21:27:33 -0700176 Ranking.getRankForClassName(StorageSettings.class.getName()),
Fabrice Di Megliof66eb7a2014-04-02 17:07:36 -0700177 NO_DATA_RES_ID,
Jeff Sharkey42833b22015-04-11 21:27:33 -0700178 StorageSettings.class.getName(),
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700179 R.drawable.ic_settings_storage));
180
181 sResMap.put(PowerUsageSummary.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700182 new SearchIndexableResource(
183 Ranking.getRankForClassName(PowerUsageSummary.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700184 R.xml.power_usage_summary,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700185 PowerUsageSummary.class.getName(),
186 R.drawable.ic_settings_battery));
187
John Spurlockc7f8e8c2014-06-04 19:11:22 -0400188 sResMap.put(BatterySaverSettings.class.getName(),
189 new SearchIndexableResource(
190 Ranking.getRankForClassName(BatterySaverSettings.class.getName()),
191 R.xml.battery_saver_settings,
192 BatterySaverSettings.class.getName(),
193 R.drawable.ic_settings_battery));
194
Jason Monk5b3aa362015-03-18 16:03:57 -0400195 sResMap.put(AdvancedAppSettings.class.getName(),
196 new SearchIndexableResource(
197 Ranking.getRankForClassName(AdvancedAppSettings.class.getName()),
Jason Monk73a24962015-04-13 20:58:05 -0400198 R.xml.advanced_apps,
Jason Monk5b3aa362015-03-18 16:03:57 -0400199 AdvancedAppSettings.class.getName(),
200 R.drawable.ic_settings_applications));
201
Jason Monk73a24962015-04-13 20:58:05 -0400202 sResMap.put(ManageDefaultApps.class.getName(),
203 new SearchIndexableResource(
204 Ranking.getRankForClassName(ManageDefaultApps.class.getName()),
205 NO_DATA_RES_ID,
206 ManageDefaultApps.class.getName(),
207 R.drawable.ic_settings_applications));
208
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700209 sResMap.put(UserSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700210 new SearchIndexableResource(
211 Ranking.getRankForClassName(UserSettings.class.getName()),
Fyodor Kupolovc9a95ef2015-05-15 17:16:15 -0700212 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700213 UserSettings.class.getName(),
214 R.drawable.ic_settings_multiuser));
215
216 sResMap.put(LocationSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700217 new SearchIndexableResource(
218 Ranking.getRankForClassName(LocationSettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700219 R.xml.location_settings,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700220 LocationSettings.class.getName(),
221 R.drawable.ic_settings_location));
222
Lifu Tangff6d4892015-03-26 17:56:52 -0700223 sResMap.put(ScanningSettings.class.getName(),
224 new SearchIndexableResource(
225 Ranking.getRankForClassName(ScanningSettings.class.getName()),
226 R.xml.location_scanning,
227 ScanningSettings.class.getName(),
228 R.drawable.ic_settings_location));
229
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700230 sResMap.put(SecuritySettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700231 new SearchIndexableResource(
232 Ranking.getRankForClassName(SecuritySettings.class.getName()),
Fabrice Di Megliod1d2f022014-04-11 16:09:11 -0700233 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700234 SecuritySettings.class.getName(),
235 R.drawable.ic_settings_security));
236
Jason Monk27d7ea52014-07-18 09:55:41 -0400237 sResMap.put(ScreenPinningSettings.class.getName(),
238 new SearchIndexableResource(
239 Ranking.getRankForClassName(ScreenPinningSettings.class.getName()),
240 NO_DATA_RES_ID,
241 ScreenPinningSettings.class.getName(),
242 R.drawable.ic_settings_security));
243
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700244 sResMap.put(InputMethodAndLanguageSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700245 new SearchIndexableResource(
246 Ranking.getRankForClassName(InputMethodAndLanguageSettings.class.getName()),
Svetoslav990159a2014-04-14 17:14:59 -0700247 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700248 InputMethodAndLanguageSettings.class.getName(),
249 R.drawable.ic_settings_language));
250
Fabrice Di Meglio9dc5f802014-08-12 14:57:29 -0700251 sResMap.put(VoiceInputSettings.class.getName(),
252 new SearchIndexableResource(
253 Ranking.getRankForClassName(VoiceInputSettings.class.getName()),
254 NO_DATA_RES_ID,
255 VoiceInputSettings.class.getName(),
256 R.drawable.ic_settings_language));
257
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700258 sResMap.put(PrivacySettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700259 new SearchIndexableResource(
260 Ranking.getRankForClassName(PrivacySettings.class.getName()),
Amith Yamasani4339a472014-10-22 13:51:53 -0700261 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700262 PrivacySettings.class.getName(),
263 R.drawable.ic_settings_backup));
264
265 sResMap.put(DateTimeSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700266 new SearchIndexableResource(
267 Ranking.getRankForClassName(DateTimeSettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700268 R.xml.date_time_prefs,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700269 DateTimeSettings.class.getName(),
270 R.drawable.ic_settings_date_time));
271
272 sResMap.put(AccessibilitySettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700273 new SearchIndexableResource(
274 Ranking.getRankForClassName(AccessibilitySettings.class.getName()),
Svetoslavb4b30822014-04-11 17:06:17 -0700275 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700276 AccessibilitySettings.class.getName(),
277 R.drawable.ic_settings_accessibility));
278
279 sResMap.put(PrintSettingsFragment.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700280 new SearchIndexableResource(
281 Ranking.getRankForClassName(PrintSettingsFragment.class.getName()),
Svetoslavd78d44d2014-04-11 16:07:43 -0700282 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700283 PrintSettingsFragment.class.getName(),
Fabrice Di Meglioa218d0e2014-05-22 19:17:36 -0700284 R.drawable.ic_settings_print));
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700285
286 sResMap.put(DevelopmentSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700287 new SearchIndexableResource(
288 Ranking.getRankForClassName(DevelopmentSettings.class.getName()),
Andres Moralesce249fe2014-07-07 16:58:16 -0700289 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700290 DevelopmentSettings.class.getName(),
291 R.drawable.ic_settings_development));
292
293 sResMap.put(DeviceInfoSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700294 new SearchIndexableResource(
295 Ranking.getRankForClassName(DeviceInfoSettings.class.getName()),
Fabrice Di Megliob2385ea2014-05-30 15:30:12 -0700296 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700297 DeviceInfoSettings.class.getName(),
298 R.drawable.ic_settings_about));
Pavel Zhamaitsiak4ab32562015-02-23 15:34:07 -0800299
Jason Monkf9402322015-06-10 10:02:59 -0400300 sResMap.put(LegalSettings.class.getName(),
301 new SearchIndexableResource(
302 Ranking.getRankForClassName(LegalSettings.class.getName()),
303 NO_DATA_RES_ID,
304 LegalSettings.class.getName(),
305 R.drawable.ic_settings_about));
306
Pavel Zhamaitsiak4ab32562015-02-23 15:34:07 -0800307 sResMap.put(WifiCallingSettings.class.getName(),
308 new SearchIndexableResource(
309 Ranking.getRankForClassName(WifiCallingSettings.class.getName()),
310 R.xml.wifi_calling_settings,
311 WifiCallingSettings.class.getName(),
312 R.drawable.ic_settings_wireless));
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700313 }
314
315 private SearchIndexableResources() {
316 }
317
318 public static int size() {
319 return sResMap.size();
320 }
321
322 public static SearchIndexableResource getResourceByName(String className) {
323 return sResMap.get(className);
324 }
325
326 public static Collection<SearchIndexableResource> values() {
327 return sResMap.values();
328 }
329}