import com.android.settings.R;
import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.search.Indexable;
+import com.android.settings.search.SearchIndexableRaw;
+import com.android.settingslib.search.SearchIndexable;
import com.google.android.setupcompat.util.WizardManagerHelper;
-public class WallpaperSuggestionActivity extends Activity {
+import java.util.ArrayList;
+import java.util.List;
+
+@SearchIndexable
+public class WallpaperSuggestionActivity extends Activity implements Indexable {
@Override
protected void onCreate(Bundle savedInstanceState) {
return context.getResources().getBoolean(
com.android.internal.R.bool.config_enableWallpaperService);
}
+
+ public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+ new BaseSearchIndexProvider() {
+ private static final String SUPPORT_SEARCH_INDEX_KEY = "wallpaper_type";
+
+ @Override
+ public List<SearchIndexableRaw> getRawDataToIndex(Context context,
+ boolean enabled) {
+
+ final List<SearchIndexableRaw> result = new ArrayList<>();
+
+ SearchIndexableRaw data = new SearchIndexableRaw(context);
+ data.title = context.getString(R.string.wallpaper_settings_fragment_title);
+ data.screenTitle = context.getString(
+ R.string.wallpaper_settings_fragment_title);
+ data.intentTargetPackage = context.getString(
+ R.string.config_wallpaper_picker_package);
+ data.intentTargetClass = context.getString(
+ R.string.config_wallpaper_picker_class);
+ data.intentAction = Intent.ACTION_MAIN;
+ data.key = SUPPORT_SEARCH_INDEX_KEY;
+ result.add(data);
+
+ return result;
+ }
+ };
}
package com.android.settings.wallpaper;
import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.search.SearchIndexableRaw;
-import com.android.settingslib.search.SearchIndexable;
-import java.util.ArrayList;
-import java.util.List;
-@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
public class WallpaperTypeSettings extends DashboardFragment {
private static final String TAG = "WallpaperTypeSettings";
protected int getPreferenceScreenResId() {
return R.xml.wallpaper_settings;
}
-
- public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
- new BaseSearchIndexProvider() {
- @Override
- public List<SearchIndexableRaw> getRawDataToIndex(Context context, boolean enabled) {
- final List<SearchIndexableRaw> result = new ArrayList<>();
-
- final Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER);
- final PackageManager pm = context.getPackageManager();
- final List<ResolveInfo> rList = pm.queryIntentActivities(intent,
- PackageManager.MATCH_DEFAULT_ONLY);
-
- // Add indexable data for package that is in config_wallpaper_picker_package
- final String wallpaperPickerPackage =
- context.getString(R.string.config_wallpaper_picker_package);
- for (ResolveInfo info : rList) {
- if (!wallpaperPickerPackage.equals(info.activityInfo.packageName)) {
- continue;
- }
- CharSequence label = info.loadLabel(pm);
- if (label == null) {
- label = info.activityInfo.packageName;
- }
- final SearchIndexableRaw data = new SearchIndexableRaw(context);
- data.title = label.toString();
- data.key = "wallpaper_type_settings";
- data.screenTitle = context.getResources().getString(
- R.string.wallpaper_settings_fragment_title);
- data.intentAction = Intent.ACTION_SET_WALLPAPER;
- data.intentTargetPackage = info.activityInfo.packageName;
- data.intentTargetClass = info.activityInfo.name;
- data.keywords = context.getString(R.string.keywords_wallpaper);
- result.add(data);
- }
-
- return result;
- }
- };
}