blob: a3d2b8d713fabaf6bfa02677965e8d50c1f58888 [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 Meglio23c66662014-05-30 17:59:00 -070021import com.android.settings.ChooseLockGeneric;
Fabrice Di Meglio758c3ff2014-04-10 13:47:30 -070022import com.android.settings.DataUsageSummary;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070023import com.android.settings.DateTimeSettings;
24import com.android.settings.DevelopmentSettings;
25import com.android.settings.DeviceInfoSettings;
26import com.android.settings.DisplaySettings;
27import com.android.settings.HomeSettings;
Jason Monk27d7ea52014-07-18 09:55:41 -040028import com.android.settings.ScreenPinningSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070029import com.android.settings.PrivacySettings;
30import com.android.settings.R;
31import com.android.settings.SecuritySettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070032import com.android.settings.WallpaperTypeSettings;
33import com.android.settings.WirelessSettings;
34import com.android.settings.accessibility.AccessibilitySettings;
35import com.android.settings.bluetooth.BluetoothSettings;
PauloftheWestc9dc66d2014-07-01 05:19:58 -070036import com.android.settings.bluetooth.MessageAccessSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070037import com.android.settings.deviceinfo.Memory;
John Spurlockc7f8e8c2014-06-04 19:11:22 -040038import com.android.settings.fuelgauge.BatterySaverSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070039import com.android.settings.fuelgauge.PowerUsageSummary;
40import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
41import com.android.settings.location.LocationSettings;
Fabrice Di Meglioc9711be2014-06-17 12:30:18 -070042import com.android.settings.net.DataUsageMeteredSettings;
John Spurlock4a350512014-04-08 14:08:21 -040043import com.android.settings.notification.NotificationSettings;
John Spurlock4e4cdef2014-05-28 09:43:45 -040044import com.android.settings.notification.OtherSoundSettings;
John Spurlock4a350512014-04-08 14:08:21 -040045import com.android.settings.notification.ZenModeSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070046import com.android.settings.print.PrintSettingsFragment;
PauloftheWest38155612014-06-30 10:02:36 -070047import com.android.settings.sim.SimSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070048import com.android.settings.users.UserSettings;
Fabrice Di Meglio34483742014-05-09 19:08:44 -070049import com.android.settings.wifi.AdvancedWifiSettings;
PauloftheWest7837b992014-06-24 07:42:27 -070050import com.android.settings.wifi.SavedAccessPointsWifiSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070051import com.android.settings.wifi.WifiSettings;
52
53import java.util.Collection;
54import java.util.HashMap;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070055
56public final class SearchIndexableResources {
57
Fabrice Di Meglioa9d37052014-04-10 17:58:27 -070058 public static int NO_DATA_RES_ID = 0;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070059
60 private static HashMap<String, SearchIndexableResource> sResMap =
61 new HashMap<String, SearchIndexableResource>();
62
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070063 static {
64 sResMap.put(WifiSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -070065 new SearchIndexableResource(
66 Ranking.getRankForClassName(WifiSettings.class.getName()),
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070067 NO_DATA_RES_ID,
68 WifiSettings.class.getName(),
69 R.drawable.ic_settings_wireless));
70
Fabrice Di Meglio74ef69a2014-06-26 15:50:33 -070071 sResMap.put(AdvancedWifiSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -070072 new SearchIndexableResource(
73 Ranking.getRankForClassName(AdvancedWifiSettings.class.getName()),
Fabrice Di Meglio34483742014-05-09 19:08:44 -070074 R.xml.wifi_advanced_settings,
75 AdvancedWifiSettings.class.getName(),
76 R.drawable.ic_settings_wireless));
77
PauloftheWest7837b992014-06-24 07:42:27 -070078 sResMap.put(SavedAccessPointsWifiSettings.class.getName(),
79 new SearchIndexableResource(
80 Ranking.getRankForClassName(SavedAccessPointsWifiSettings.class.getName()),
81 R.xml.wifi_display_saved_access_points,
82 SavedAccessPointsWifiSettings.class.getName(),
83 R.drawable.ic_settings_wireless));
84
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070085 sResMap.put(BluetoothSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -070086 new SearchIndexableResource(
87 Ranking.getRankForClassName(BluetoothSettings.class.getName()),
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070088 NO_DATA_RES_ID,
89 BluetoothSettings.class.getName(),
90 R.drawable.ic_settings_bluetooth2));
91
PauloftheWest38155612014-06-30 10:02:36 -070092 sResMap.put(SimSettings.class.getName(),
93 new SearchIndexableResource(
94 Ranking.getRankForClassName(SimSettings.class.getName()),
95 R.xml.sim_settings,
96 SimSettings.class.getName(),
97 R.drawable.ic_sim_sd));
98
PauloftheWestc9dc66d2014-07-01 05:19:58 -070099 sResMap.put(MessageAccessSettings.class.getName(),
100 new SearchIndexableResource(
101 Ranking.getRankForClassName(MessageAccessSettings.class.getName()),
102 NO_DATA_RES_ID,
103 MessageAccessSettings.class.getName(),
104 R.drawable.ic_settings_bluetooth2));
105
Fabrice Di Meglio758c3ff2014-04-10 13:47:30 -0700106 sResMap.put(DataUsageSummary.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700107 new SearchIndexableResource(
108 Ranking.getRankForClassName(DataUsageSummary.class.getName()),
Fabrice Di Meglio758c3ff2014-04-10 13:47:30 -0700109 NO_DATA_RES_ID,
110 DataUsageSummary.class.getName(),
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700111 R.drawable.ic_settings_data_usage));
112
Fabrice Di Meglioc9711be2014-06-17 12:30:18 -0700113 sResMap.put(DataUsageMeteredSettings.class.getName(),
114 new SearchIndexableResource(
115 Ranking.getRankForClassName(DataUsageMeteredSettings.class.getName()),
116 NO_DATA_RES_ID,
117 DataUsageMeteredSettings.class.getName(),
118 R.drawable.ic_settings_data_usage));
119
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700120 sResMap.put(WirelessSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700121 new SearchIndexableResource(
122 Ranking.getRankForClassName(WirelessSettings.class.getName()),
Fabrice Di Megliodba577f2014-06-06 16:31:45 -0700123 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700124 WirelessSettings.class.getName(),
Fabrice Di Megliodba577f2014-06-06 16:31:45 -0700125 R.drawable.ic_settings_more));
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700126
127 sResMap.put(HomeSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700128 new SearchIndexableResource(
129 Ranking.getRankForClassName(HomeSettings.class.getName()),
Fabrice Di Megliod73045d2014-07-22 15:06:31 -0700130 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700131 HomeSettings.class.getName(),
132 R.drawable.ic_settings_home));
133
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700134 sResMap.put(DisplaySettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700135 new SearchIndexableResource(
136 Ranking.getRankForClassName(DisplaySettings.class.getName()),
Adrian Roos8ab09542014-06-02 20:33:56 +0200137 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700138 DisplaySettings.class.getName(),
139 R.drawable.ic_settings_display));
140
141 sResMap.put(WallpaperTypeSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700142 new SearchIndexableResource(
143 Ranking.getRankForClassName(WallpaperTypeSettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700144 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700145 WallpaperTypeSettings.class.getName(),
146 R.drawable.ic_settings_display));
147
Fabrice Di Meglio95937822014-03-31 19:46:42 -0700148 sResMap.put(NotificationSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700149 new SearchIndexableResource(
150 Ranking.getRankForClassName(NotificationSettings.class.getName()),
John Spurlock57c713d2014-05-27 11:10:52 -0400151 NO_DATA_RES_ID,
Fabrice Di Meglio95937822014-03-31 19:46:42 -0700152 NotificationSettings.class.getName(),
153 R.drawable.ic_settings_notifications));
154
John Spurlock4e4cdef2014-05-28 09:43:45 -0400155 sResMap.put(OtherSoundSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700156 new SearchIndexableResource(
157 Ranking.getRankForClassName(OtherSoundSettings.class.getName()),
John Spurlock4e4cdef2014-05-28 09:43:45 -0400158 NO_DATA_RES_ID,
159 OtherSoundSettings.class.getName(),
John Spurlock81bef1d72014-05-16 15:50:13 -0400160 R.drawable.ic_settings_notifications));
161
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700162 sResMap.put(ZenModeSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700163 new SearchIndexableResource(
164 Ranking.getRankForClassName(ZenModeSettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700165 NO_DATA_RES_ID,
166 ZenModeSettings.class.getName(),
167 R.drawable.ic_settings_notifications));
168
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700169 sResMap.put(Memory.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700170 new SearchIndexableResource(
171 Ranking.getRankForClassName(Memory.class.getName()),
Fabrice Di Megliof66eb7a2014-04-02 17:07:36 -0700172 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700173 Memory.class.getName(),
174 R.drawable.ic_settings_storage));
175
176 sResMap.put(PowerUsageSummary.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700177 new SearchIndexableResource(
178 Ranking.getRankForClassName(PowerUsageSummary.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700179 R.xml.power_usage_summary,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700180 PowerUsageSummary.class.getName(),
181 R.drawable.ic_settings_battery));
182
John Spurlockc7f8e8c2014-06-04 19:11:22 -0400183 sResMap.put(BatterySaverSettings.class.getName(),
184 new SearchIndexableResource(
185 Ranking.getRankForClassName(BatterySaverSettings.class.getName()),
186 R.xml.battery_saver_settings,
187 BatterySaverSettings.class.getName(),
188 R.drawable.ic_settings_battery));
189
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700190 sResMap.put(UserSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700191 new SearchIndexableResource(
192 Ranking.getRankForClassName(UserSettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700193 R.xml.user_settings,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700194 UserSettings.class.getName(),
195 R.drawable.ic_settings_multiuser));
196
197 sResMap.put(LocationSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700198 new SearchIndexableResource(
199 Ranking.getRankForClassName(LocationSettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700200 R.xml.location_settings,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700201 LocationSettings.class.getName(),
202 R.drawable.ic_settings_location));
203
204 sResMap.put(SecuritySettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700205 new SearchIndexableResource(
206 Ranking.getRankForClassName(SecuritySettings.class.getName()),
Fabrice Di Megliod1d2f022014-04-11 16:09:11 -0700207 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700208 SecuritySettings.class.getName(),
209 R.drawable.ic_settings_security));
210
Fabrice Di Meglio23c66662014-05-30 17:59:00 -0700211 sResMap.put(ChooseLockGeneric.ChooseLockGenericFragment.class.getName(),
212 new SearchIndexableResource(
213 Ranking.getRankForClassName(
214 ChooseLockGeneric.ChooseLockGenericFragment.class.getName()),
215 R.xml.security_settings_picker,
216 ChooseLockGeneric.ChooseLockGenericFragment.class.getName(),
217 R.drawable.ic_settings_security));
218
Jason Monk27d7ea52014-07-18 09:55:41 -0400219 sResMap.put(ScreenPinningSettings.class.getName(),
220 new SearchIndexableResource(
221 Ranking.getRankForClassName(ScreenPinningSettings.class.getName()),
222 NO_DATA_RES_ID,
223 ScreenPinningSettings.class.getName(),
224 R.drawable.ic_settings_security));
225
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700226 sResMap.put(InputMethodAndLanguageSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700227 new SearchIndexableResource(
228 Ranking.getRankForClassName(InputMethodAndLanguageSettings.class.getName()),
Svetoslav990159a2014-04-14 17:14:59 -0700229 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700230 InputMethodAndLanguageSettings.class.getName(),
231 R.drawable.ic_settings_language));
232
233 sResMap.put(PrivacySettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700234 new SearchIndexableResource(
235 Ranking.getRankForClassName(PrivacySettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700236 R.xml.privacy_settings,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700237 PrivacySettings.class.getName(),
238 R.drawable.ic_settings_backup));
239
240 sResMap.put(DateTimeSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700241 new SearchIndexableResource(
242 Ranking.getRankForClassName(DateTimeSettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700243 R.xml.date_time_prefs,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700244 DateTimeSettings.class.getName(),
245 R.drawable.ic_settings_date_time));
246
247 sResMap.put(AccessibilitySettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700248 new SearchIndexableResource(
249 Ranking.getRankForClassName(AccessibilitySettings.class.getName()),
Svetoslavb4b30822014-04-11 17:06:17 -0700250 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700251 AccessibilitySettings.class.getName(),
252 R.drawable.ic_settings_accessibility));
253
254 sResMap.put(PrintSettingsFragment.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700255 new SearchIndexableResource(
256 Ranking.getRankForClassName(PrintSettingsFragment.class.getName()),
Svetoslavd78d44d2014-04-11 16:07:43 -0700257 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700258 PrintSettingsFragment.class.getName(),
Fabrice Di Meglioa218d0e2014-05-22 19:17:36 -0700259 R.drawable.ic_settings_print));
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700260
261 sResMap.put(DevelopmentSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700262 new SearchIndexableResource(
263 Ranking.getRankForClassName(DevelopmentSettings.class.getName()),
Andres Moralesce249fe2014-07-07 16:58:16 -0700264 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700265 DevelopmentSettings.class.getName(),
266 R.drawable.ic_settings_development));
267
268 sResMap.put(DeviceInfoSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700269 new SearchIndexableResource(
270 Ranking.getRankForClassName(DeviceInfoSettings.class.getName()),
Fabrice Di Megliob2385ea2014-05-30 15:30:12 -0700271 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700272 DeviceInfoSettings.class.getName(),
273 R.drawable.ic_settings_about));
274 }
275
276 private SearchIndexableResources() {
277 }
278
279 public static int size() {
280 return sResMap.size();
281 }
282
283 public static SearchIndexableResource getResourceByName(String className) {
284 return sResMap.get(className);
285 }
286
287 public static Collection<SearchIndexableResource> values() {
288 return sResMap.values();
289 }
290}