blob: dae8860d48b4b75bd2519e68097e7f06f6c8d6c7 [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;
27import com.android.settings.PrivacySettings;
28import com.android.settings.R;
John Spurlock45fa1402015-04-09 12:50:04 -040029import com.android.settings.ScreenPinningSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070030import com.android.settings.SecuritySettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070031import com.android.settings.WallpaperTypeSettings;
John Spurlock45fa1402015-04-09 12:50:04 -040032import com.android.settings.WifiCallingSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070033import com.android.settings.WirelessSettings;
34import com.android.settings.accessibility.AccessibilitySettings;
Jason Monk5b3aa362015-03-18 16:03:57 -040035import com.android.settings.applications.AdvancedAppSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070036import com.android.settings.bluetooth.BluetoothSettings;
37import com.android.settings.deviceinfo.Memory;
Fabrice Di Meglioc94382e2014-10-16 14:42:10 -070038import com.android.settings.deviceinfo.UsbSettings;
John Spurlockc7f8e8c2014-06-04 19:11:22 -040039import com.android.settings.fuelgauge.BatterySaverSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070040import com.android.settings.fuelgauge.PowerUsageSummary;
41import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
42import com.android.settings.location.LocationSettings;
Lifu Tangff6d4892015-03-26 17:56:52 -070043import com.android.settings.location.ScanningSettings;
Fabrice Di Meglioc9711be2014-06-17 12:30:18 -070044import com.android.settings.net.DataUsageMeteredSettings;
John Spurlock4a350512014-04-08 14:08:21 -040045import com.android.settings.notification.NotificationSettings;
John Spurlock4e4cdef2014-05-28 09:43:45 -040046import com.android.settings.notification.OtherSoundSettings;
John Spurlock48bbd5d2015-04-03 13:51:03 -040047import com.android.settings.notification.ZenModePrioritySettings;
John Spurlock4a350512014-04-08 14:08:21 -040048import com.android.settings.notification.ZenModeSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070049import com.android.settings.print.PrintSettingsFragment;
PauloftheWest38155612014-06-30 10:02:36 -070050import com.android.settings.sim.SimSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070051import com.android.settings.users.UserSettings;
Fabrice Di Meglio9dc5f802014-08-12 14:57:29 -070052import com.android.settings.voice.VoiceInputSettings;
Fabrice Di Meglio34483742014-05-09 19:08:44 -070053import com.android.settings.wifi.AdvancedWifiSettings;
PauloftheWest7837b992014-06-24 07:42:27 -070054import com.android.settings.wifi.SavedAccessPointsWifiSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070055import com.android.settings.wifi.WifiSettings;
56
57import java.util.Collection;
58import java.util.HashMap;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070059
60public final class SearchIndexableResources {
61
Fabrice Di Meglioa9d37052014-04-10 17:58:27 -070062 public static int NO_DATA_RES_ID = 0;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070063
64 private static HashMap<String, SearchIndexableResource> sResMap =
65 new HashMap<String, SearchIndexableResource>();
66
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070067 static {
68 sResMap.put(WifiSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -070069 new SearchIndexableResource(
70 Ranking.getRankForClassName(WifiSettings.class.getName()),
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070071 NO_DATA_RES_ID,
72 WifiSettings.class.getName(),
73 R.drawable.ic_settings_wireless));
74
Fabrice Di Meglio74ef69a2014-06-26 15:50:33 -070075 sResMap.put(AdvancedWifiSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -070076 new SearchIndexableResource(
77 Ranking.getRankForClassName(AdvancedWifiSettings.class.getName()),
Fabrice Di Meglio34483742014-05-09 19:08:44 -070078 R.xml.wifi_advanced_settings,
79 AdvancedWifiSettings.class.getName(),
80 R.drawable.ic_settings_wireless));
81
PauloftheWest7837b992014-06-24 07:42:27 -070082 sResMap.put(SavedAccessPointsWifiSettings.class.getName(),
83 new SearchIndexableResource(
84 Ranking.getRankForClassName(SavedAccessPointsWifiSettings.class.getName()),
85 R.xml.wifi_display_saved_access_points,
86 SavedAccessPointsWifiSettings.class.getName(),
87 R.drawable.ic_settings_wireless));
88
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070089 sResMap.put(BluetoothSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -070090 new SearchIndexableResource(
91 Ranking.getRankForClassName(BluetoothSettings.class.getName()),
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070092 NO_DATA_RES_ID,
93 BluetoothSettings.class.getName(),
94 R.drawable.ic_settings_bluetooth2));
95
PauloftheWest38155612014-06-30 10:02:36 -070096 sResMap.put(SimSettings.class.getName(),
97 new SearchIndexableResource(
98 Ranking.getRankForClassName(SimSettings.class.getName()),
Fabrice Di Meglio22a2a492014-08-08 12:27:57 -070099 NO_DATA_RES_ID,
PauloftheWest38155612014-06-30 10:02:36 -0700100 SimSettings.class.getName(),
101 R.drawable.ic_sim_sd));
102
Fabrice Di Meglio758c3ff2014-04-10 13:47:30 -0700103 sResMap.put(DataUsageSummary.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700104 new SearchIndexableResource(
105 Ranking.getRankForClassName(DataUsageSummary.class.getName()),
Fabrice Di Meglio758c3ff2014-04-10 13:47:30 -0700106 NO_DATA_RES_ID,
107 DataUsageSummary.class.getName(),
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700108 R.drawable.ic_settings_data_usage));
109
Fabrice Di Meglioc9711be2014-06-17 12:30:18 -0700110 sResMap.put(DataUsageMeteredSettings.class.getName(),
111 new SearchIndexableResource(
112 Ranking.getRankForClassName(DataUsageMeteredSettings.class.getName()),
113 NO_DATA_RES_ID,
114 DataUsageMeteredSettings.class.getName(),
115 R.drawable.ic_settings_data_usage));
116
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700117 sResMap.put(WirelessSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700118 new SearchIndexableResource(
119 Ranking.getRankForClassName(WirelessSettings.class.getName()),
Fabrice Di Megliodba577f2014-06-06 16:31:45 -0700120 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700121 WirelessSettings.class.getName(),
Fabrice Di Megliodba577f2014-06-06 16:31:45 -0700122 R.drawable.ic_settings_more));
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700123
124 sResMap.put(HomeSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700125 new SearchIndexableResource(
126 Ranking.getRankForClassName(HomeSettings.class.getName()),
Fabrice Di Megliod73045d2014-07-22 15:06:31 -0700127 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700128 HomeSettings.class.getName(),
129 R.drawable.ic_settings_home));
130
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700131 sResMap.put(DisplaySettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700132 new SearchIndexableResource(
133 Ranking.getRankForClassName(DisplaySettings.class.getName()),
Adrian Roos8ab09542014-06-02 20:33:56 +0200134 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700135 DisplaySettings.class.getName(),
136 R.drawable.ic_settings_display));
137
138 sResMap.put(WallpaperTypeSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700139 new SearchIndexableResource(
140 Ranking.getRankForClassName(WallpaperTypeSettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700141 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700142 WallpaperTypeSettings.class.getName(),
143 R.drawable.ic_settings_display));
144
Fabrice Di Meglio95937822014-03-31 19:46:42 -0700145 sResMap.put(NotificationSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700146 new SearchIndexableResource(
147 Ranking.getRankForClassName(NotificationSettings.class.getName()),
John Spurlock57c713d2014-05-27 11:10:52 -0400148 NO_DATA_RES_ID,
Fabrice Di Meglio95937822014-03-31 19:46:42 -0700149 NotificationSettings.class.getName(),
150 R.drawable.ic_settings_notifications));
151
John Spurlock4e4cdef2014-05-28 09:43:45 -0400152 sResMap.put(OtherSoundSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700153 new SearchIndexableResource(
154 Ranking.getRankForClassName(OtherSoundSettings.class.getName()),
John Spurlock4e4cdef2014-05-28 09:43:45 -0400155 NO_DATA_RES_ID,
156 OtherSoundSettings.class.getName(),
John Spurlock81bef1d72014-05-16 15:50:13 -0400157 R.drawable.ic_settings_notifications));
158
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700159 sResMap.put(ZenModeSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700160 new SearchIndexableResource(
161 Ranking.getRankForClassName(ZenModeSettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700162 NO_DATA_RES_ID,
163 ZenModeSettings.class.getName(),
164 R.drawable.ic_settings_notifications));
165
John Spurlock48bbd5d2015-04-03 13:51:03 -0400166 sResMap.put(ZenModePrioritySettings.class.getName(),
167 new SearchIndexableResource(
168 Ranking.getRankForClassName(ZenModePrioritySettings.class.getName()),
169 R.xml.zen_mode_priority_settings,
170 ZenModePrioritySettings.class.getName(),
171 R.drawable.ic_settings_notifications));
172
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700173 sResMap.put(Memory.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700174 new SearchIndexableResource(
175 Ranking.getRankForClassName(Memory.class.getName()),
Fabrice Di Megliof66eb7a2014-04-02 17:07:36 -0700176 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700177 Memory.class.getName(),
178 R.drawable.ic_settings_storage));
179
Fabrice Di Meglioc94382e2014-10-16 14:42:10 -0700180 sResMap.put(UsbSettings.class.getName(),
181 new SearchIndexableResource(
182 Ranking.getRankForClassName(UsbSettings.class.getName()),
183 R.xml.usb_settings,
184 UsbSettings.class.getName(),
185 R.drawable.ic_settings_storage));
186
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700187 sResMap.put(PowerUsageSummary.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700188 new SearchIndexableResource(
189 Ranking.getRankForClassName(PowerUsageSummary.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700190 R.xml.power_usage_summary,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700191 PowerUsageSummary.class.getName(),
192 R.drawable.ic_settings_battery));
193
John Spurlockc7f8e8c2014-06-04 19:11:22 -0400194 sResMap.put(BatterySaverSettings.class.getName(),
195 new SearchIndexableResource(
196 Ranking.getRankForClassName(BatterySaverSettings.class.getName()),
197 R.xml.battery_saver_settings,
198 BatterySaverSettings.class.getName(),
199 R.drawable.ic_settings_battery));
200
Jason Monk5b3aa362015-03-18 16:03:57 -0400201 sResMap.put(AdvancedAppSettings.class.getName(),
202 new SearchIndexableResource(
203 Ranking.getRankForClassName(AdvancedAppSettings.class.getName()),
Adrian Roos4157d7f2015-04-08 14:50:03 +0200204 NO_DATA_RES_ID,
Jason Monk5b3aa362015-03-18 16:03:57 -0400205 AdvancedAppSettings.class.getName(),
206 R.drawable.ic_settings_applications));
207
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700208 sResMap.put(UserSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700209 new SearchIndexableResource(
210 Ranking.getRankForClassName(UserSettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700211 R.xml.user_settings,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700212 UserSettings.class.getName(),
213 R.drawable.ic_settings_multiuser));
214
215 sResMap.put(LocationSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700216 new SearchIndexableResource(
217 Ranking.getRankForClassName(LocationSettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700218 R.xml.location_settings,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700219 LocationSettings.class.getName(),
220 R.drawable.ic_settings_location));
221
Lifu Tangff6d4892015-03-26 17:56:52 -0700222 sResMap.put(ScanningSettings.class.getName(),
223 new SearchIndexableResource(
224 Ranking.getRankForClassName(ScanningSettings.class.getName()),
225 R.xml.location_scanning,
226 ScanningSettings.class.getName(),
227 R.drawable.ic_settings_location));
228
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700229 sResMap.put(SecuritySettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700230 new SearchIndexableResource(
231 Ranking.getRankForClassName(SecuritySettings.class.getName()),
Fabrice Di Megliod1d2f022014-04-11 16:09:11 -0700232 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700233 SecuritySettings.class.getName(),
234 R.drawable.ic_settings_security));
235
Jason Monk27d7ea52014-07-18 09:55:41 -0400236 sResMap.put(ScreenPinningSettings.class.getName(),
237 new SearchIndexableResource(
238 Ranking.getRankForClassName(ScreenPinningSettings.class.getName()),
239 NO_DATA_RES_ID,
240 ScreenPinningSettings.class.getName(),
241 R.drawable.ic_settings_security));
242
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700243 sResMap.put(InputMethodAndLanguageSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700244 new SearchIndexableResource(
245 Ranking.getRankForClassName(InputMethodAndLanguageSettings.class.getName()),
Svetoslav990159a2014-04-14 17:14:59 -0700246 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700247 InputMethodAndLanguageSettings.class.getName(),
248 R.drawable.ic_settings_language));
249
Fabrice Di Meglio9dc5f802014-08-12 14:57:29 -0700250 sResMap.put(VoiceInputSettings.class.getName(),
251 new SearchIndexableResource(
252 Ranking.getRankForClassName(VoiceInputSettings.class.getName()),
253 NO_DATA_RES_ID,
254 VoiceInputSettings.class.getName(),
255 R.drawable.ic_settings_language));
256
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700257 sResMap.put(PrivacySettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700258 new SearchIndexableResource(
259 Ranking.getRankForClassName(PrivacySettings.class.getName()),
Amith Yamasani4339a472014-10-22 13:51:53 -0700260 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700261 PrivacySettings.class.getName(),
262 R.drawable.ic_settings_backup));
263
264 sResMap.put(DateTimeSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700265 new SearchIndexableResource(
266 Ranking.getRankForClassName(DateTimeSettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700267 R.xml.date_time_prefs,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700268 DateTimeSettings.class.getName(),
269 R.drawable.ic_settings_date_time));
270
271 sResMap.put(AccessibilitySettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700272 new SearchIndexableResource(
273 Ranking.getRankForClassName(AccessibilitySettings.class.getName()),
Svetoslavb4b30822014-04-11 17:06:17 -0700274 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700275 AccessibilitySettings.class.getName(),
276 R.drawable.ic_settings_accessibility));
277
278 sResMap.put(PrintSettingsFragment.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700279 new SearchIndexableResource(
280 Ranking.getRankForClassName(PrintSettingsFragment.class.getName()),
Svetoslavd78d44d2014-04-11 16:07:43 -0700281 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700282 PrintSettingsFragment.class.getName(),
Fabrice Di Meglioa218d0e2014-05-22 19:17:36 -0700283 R.drawable.ic_settings_print));
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700284
285 sResMap.put(DevelopmentSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700286 new SearchIndexableResource(
287 Ranking.getRankForClassName(DevelopmentSettings.class.getName()),
Andres Moralesce249fe2014-07-07 16:58:16 -0700288 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700289 DevelopmentSettings.class.getName(),
290 R.drawable.ic_settings_development));
291
292 sResMap.put(DeviceInfoSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700293 new SearchIndexableResource(
294 Ranking.getRankForClassName(DeviceInfoSettings.class.getName()),
Fabrice Di Megliob2385ea2014-05-30 15:30:12 -0700295 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700296 DeviceInfoSettings.class.getName(),
297 R.drawable.ic_settings_about));
Pavel Zhamaitsiak4ab32562015-02-23 15:34:07 -0800298
299 sResMap.put(WifiCallingSettings.class.getName(),
300 new SearchIndexableResource(
301 Ranking.getRankForClassName(WifiCallingSettings.class.getName()),
302 R.xml.wifi_calling_settings,
303 WifiCallingSettings.class.getName(),
304 R.drawable.ic_settings_wireless));
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700305 }
306
307 private SearchIndexableResources() {
308 }
309
310 public static int size() {
311 return sResMap.size();
312 }
313
314 public static SearchIndexableResource getResourceByName(String className) {
315 return sResMap.get(className);
316 }
317
318 public static Collection<SearchIndexableResource> values() {
319 return sResMap.values();
320 }
321}