blob: 287d78f59e131277192a69ee97d011a244335fd6 [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 Monk315070d2014-06-19 10:33:41 -040028import com.android.settings.LockToAppSettings;
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;
36import com.android.settings.deviceinfo.Memory;
John Spurlockc7f8e8c2014-06-04 19:11:22 -040037import com.android.settings.fuelgauge.BatterySaverSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070038import com.android.settings.fuelgauge.PowerUsageSummary;
39import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
40import com.android.settings.location.LocationSettings;
Fabrice Di Meglioc9711be2014-06-17 12:30:18 -070041import com.android.settings.net.DataUsageMeteredSettings;
John Spurlock4a350512014-04-08 14:08:21 -040042import com.android.settings.notification.NotificationSettings;
John Spurlock4e4cdef2014-05-28 09:43:45 -040043import com.android.settings.notification.OtherSoundSettings;
John Spurlock4a350512014-04-08 14:08:21 -040044import com.android.settings.notification.ZenModeSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070045import com.android.settings.print.PrintSettingsFragment;
46import com.android.settings.users.UserSettings;
Fabrice Di Meglio34483742014-05-09 19:08:44 -070047import com.android.settings.wifi.AdvancedWifiSettings;
PauloftheWest7837b992014-06-24 07:42:27 -070048import com.android.settings.wifi.SavedAccessPointsWifiSettings;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070049import com.android.settings.wifi.WifiSettings;
50
51import java.util.Collection;
52import java.util.HashMap;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070053
54public final class SearchIndexableResources {
55
Fabrice Di Meglioa9d37052014-04-10 17:58:27 -070056 public static int NO_DATA_RES_ID = 0;
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070057
58 private static HashMap<String, SearchIndexableResource> sResMap =
59 new HashMap<String, SearchIndexableResource>();
60
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070061 static {
62 sResMap.put(WifiSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -070063 new SearchIndexableResource(
64 Ranking.getRankForClassName(WifiSettings.class.getName()),
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070065 NO_DATA_RES_ID,
66 WifiSettings.class.getName(),
67 R.drawable.ic_settings_wireless));
68
Fabrice Di Meglio74ef69a2014-06-26 15:50:33 -070069 sResMap.put(AdvancedWifiSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -070070 new SearchIndexableResource(
71 Ranking.getRankForClassName(AdvancedWifiSettings.class.getName()),
Fabrice Di Meglio34483742014-05-09 19:08:44 -070072 R.xml.wifi_advanced_settings,
73 AdvancedWifiSettings.class.getName(),
74 R.drawable.ic_settings_wireless));
75
PauloftheWest7837b992014-06-24 07:42:27 -070076 sResMap.put(SavedAccessPointsWifiSettings.class.getName(),
77 new SearchIndexableResource(
78 Ranking.getRankForClassName(SavedAccessPointsWifiSettings.class.getName()),
79 R.xml.wifi_display_saved_access_points,
80 SavedAccessPointsWifiSettings.class.getName(),
81 R.drawable.ic_settings_wireless));
82
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070083 sResMap.put(BluetoothSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -070084 new SearchIndexableResource(
85 Ranking.getRankForClassName(BluetoothSettings.class.getName()),
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070086 NO_DATA_RES_ID,
87 BluetoothSettings.class.getName(),
88 R.drawable.ic_settings_bluetooth2));
89
Fabrice Di Meglio758c3ff2014-04-10 13:47:30 -070090 sResMap.put(DataUsageSummary.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -070091 new SearchIndexableResource(
92 Ranking.getRankForClassName(DataUsageSummary.class.getName()),
Fabrice Di Meglio758c3ff2014-04-10 13:47:30 -070093 NO_DATA_RES_ID,
94 DataUsageSummary.class.getName(),
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -070095 R.drawable.ic_settings_data_usage));
96
Fabrice Di Meglioc9711be2014-06-17 12:30:18 -070097 sResMap.put(DataUsageMeteredSettings.class.getName(),
98 new SearchIndexableResource(
99 Ranking.getRankForClassName(DataUsageMeteredSettings.class.getName()),
100 NO_DATA_RES_ID,
101 DataUsageMeteredSettings.class.getName(),
102 R.drawable.ic_settings_data_usage));
103
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700104 sResMap.put(WirelessSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700105 new SearchIndexableResource(
106 Ranking.getRankForClassName(WirelessSettings.class.getName()),
Fabrice Di Megliodba577f2014-06-06 16:31:45 -0700107 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700108 WirelessSettings.class.getName(),
Fabrice Di Megliodba577f2014-06-06 16:31:45 -0700109 R.drawable.ic_settings_more));
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700110
111 sResMap.put(HomeSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700112 new SearchIndexableResource(
113 Ranking.getRankForClassName(HomeSettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700114 R.xml.home_selection,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700115 HomeSettings.class.getName(),
116 R.drawable.ic_settings_home));
117
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700118 sResMap.put(DisplaySettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700119 new SearchIndexableResource(
120 Ranking.getRankForClassName(DisplaySettings.class.getName()),
Adrian Roos8ab09542014-06-02 20:33:56 +0200121 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700122 DisplaySettings.class.getName(),
123 R.drawable.ic_settings_display));
124
125 sResMap.put(WallpaperTypeSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700126 new SearchIndexableResource(
127 Ranking.getRankForClassName(WallpaperTypeSettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700128 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700129 WallpaperTypeSettings.class.getName(),
130 R.drawable.ic_settings_display));
131
Fabrice Di Meglio95937822014-03-31 19:46:42 -0700132 sResMap.put(NotificationSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700133 new SearchIndexableResource(
134 Ranking.getRankForClassName(NotificationSettings.class.getName()),
John Spurlock57c713d2014-05-27 11:10:52 -0400135 NO_DATA_RES_ID,
Fabrice Di Meglio95937822014-03-31 19:46:42 -0700136 NotificationSettings.class.getName(),
137 R.drawable.ic_settings_notifications));
138
John Spurlock4e4cdef2014-05-28 09:43:45 -0400139 sResMap.put(OtherSoundSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700140 new SearchIndexableResource(
141 Ranking.getRankForClassName(OtherSoundSettings.class.getName()),
John Spurlock4e4cdef2014-05-28 09:43:45 -0400142 NO_DATA_RES_ID,
143 OtherSoundSettings.class.getName(),
John Spurlock81bef1d72014-05-16 15:50:13 -0400144 R.drawable.ic_settings_notifications));
145
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700146 sResMap.put(ZenModeSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700147 new SearchIndexableResource(
148 Ranking.getRankForClassName(ZenModeSettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700149 NO_DATA_RES_ID,
150 ZenModeSettings.class.getName(),
151 R.drawable.ic_settings_notifications));
152
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700153 sResMap.put(Memory.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700154 new SearchIndexableResource(
155 Ranking.getRankForClassName(Memory.class.getName()),
Fabrice Di Megliof66eb7a2014-04-02 17:07:36 -0700156 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700157 Memory.class.getName(),
158 R.drawable.ic_settings_storage));
159
160 sResMap.put(PowerUsageSummary.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700161 new SearchIndexableResource(
162 Ranking.getRankForClassName(PowerUsageSummary.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700163 R.xml.power_usage_summary,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700164 PowerUsageSummary.class.getName(),
165 R.drawable.ic_settings_battery));
166
John Spurlockc7f8e8c2014-06-04 19:11:22 -0400167 sResMap.put(BatterySaverSettings.class.getName(),
168 new SearchIndexableResource(
169 Ranking.getRankForClassName(BatterySaverSettings.class.getName()),
170 R.xml.battery_saver_settings,
171 BatterySaverSettings.class.getName(),
172 R.drawable.ic_settings_battery));
173
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700174 sResMap.put(UserSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700175 new SearchIndexableResource(
176 Ranking.getRankForClassName(UserSettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700177 R.xml.user_settings,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700178 UserSettings.class.getName(),
179 R.drawable.ic_settings_multiuser));
180
181 sResMap.put(LocationSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700182 new SearchIndexableResource(
183 Ranking.getRankForClassName(LocationSettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700184 R.xml.location_settings,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700185 LocationSettings.class.getName(),
186 R.drawable.ic_settings_location));
187
188 sResMap.put(SecuritySettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700189 new SearchIndexableResource(
190 Ranking.getRankForClassName(SecuritySettings.class.getName()),
Fabrice Di Megliod1d2f022014-04-11 16:09:11 -0700191 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700192 SecuritySettings.class.getName(),
193 R.drawable.ic_settings_security));
194
Fabrice Di Meglio23c66662014-05-30 17:59:00 -0700195 sResMap.put(ChooseLockGeneric.ChooseLockGenericFragment.class.getName(),
196 new SearchIndexableResource(
197 Ranking.getRankForClassName(
198 ChooseLockGeneric.ChooseLockGenericFragment.class.getName()),
199 R.xml.security_settings_picker,
200 ChooseLockGeneric.ChooseLockGenericFragment.class.getName(),
201 R.drawable.ic_settings_security));
202
Jason Monk315070d2014-06-19 10:33:41 -0400203 sResMap.put(LockToAppSettings.class.getName(),
204 new SearchIndexableResource(
205 Ranking.getRankForClassName(LockToAppSettings.class.getName()),
206 NO_DATA_RES_ID,
207 LockToAppSettings.class.getName(),
208 R.drawable.ic_settings_security));
209
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700210 sResMap.put(InputMethodAndLanguageSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700211 new SearchIndexableResource(
212 Ranking.getRankForClassName(InputMethodAndLanguageSettings.class.getName()),
Svetoslav990159a2014-04-14 17:14:59 -0700213 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700214 InputMethodAndLanguageSettings.class.getName(),
215 R.drawable.ic_settings_language));
216
217 sResMap.put(PrivacySettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700218 new SearchIndexableResource(
219 Ranking.getRankForClassName(PrivacySettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700220 R.xml.privacy_settings,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700221 PrivacySettings.class.getName(),
222 R.drawable.ic_settings_backup));
223
224 sResMap.put(DateTimeSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700225 new SearchIndexableResource(
226 Ranking.getRankForClassName(DateTimeSettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700227 R.xml.date_time_prefs,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700228 DateTimeSettings.class.getName(),
229 R.drawable.ic_settings_date_time));
230
231 sResMap.put(AccessibilitySettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700232 new SearchIndexableResource(
233 Ranking.getRankForClassName(AccessibilitySettings.class.getName()),
Svetoslavb4b30822014-04-11 17:06:17 -0700234 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700235 AccessibilitySettings.class.getName(),
236 R.drawable.ic_settings_accessibility));
237
238 sResMap.put(PrintSettingsFragment.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700239 new SearchIndexableResource(
240 Ranking.getRankForClassName(PrintSettingsFragment.class.getName()),
Svetoslavd78d44d2014-04-11 16:07:43 -0700241 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700242 PrintSettingsFragment.class.getName(),
Fabrice Di Meglioa218d0e2014-05-22 19:17:36 -0700243 R.drawable.ic_settings_print));
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700244
245 sResMap.put(DevelopmentSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700246 new SearchIndexableResource(
247 Ranking.getRankForClassName(DevelopmentSettings.class.getName()),
Fabrice Di Meglio019b87f2014-04-01 14:30:07 -0700248 R.xml.development_prefs,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700249 DevelopmentSettings.class.getName(),
250 R.drawable.ic_settings_development));
251
252 sResMap.put(DeviceInfoSettings.class.getName(),
Fabrice Di Meglioeed44c92014-05-30 13:44:08 -0700253 new SearchIndexableResource(
254 Ranking.getRankForClassName(DeviceInfoSettings.class.getName()),
Fabrice Di Megliob2385ea2014-05-30 15:30:12 -0700255 NO_DATA_RES_ID,
Fabrice Di Meglio51bfee52014-03-20 19:52:29 -0700256 DeviceInfoSettings.class.getName(),
257 R.drawable.ic_settings_about));
258 }
259
260 private SearchIndexableResources() {
261 }
262
263 public static int size() {
264 return sResMap.size();
265 }
266
267 public static SearchIndexableResource getResourceByName(String className) {
268 return sResMap.get(className);
269 }
270
271 public static Collection<SearchIndexableResource> values() {
272 return sResMap.values();
273 }
274}