Previously we indexed the intent in display settings and every
app that handled ACTION_SET_WALLPAPER. Now, we only index an
app that handles ACTION_SET_WALLPAPER and is the listed package in
config_wallpaper_picker_package.
Change-Id: Ife81702017e3e8be4a754873d9c453fddf1cbd9e
Fixes:
62793068
Test: manual, search wallpaper and observe results
public List<String> getNonIndexableKeys(Context context) {
List<String> keys = super.getNonIndexableKeys(context);
keys.add(KEY_DISPLAY_SIZE);
+ keys.add(WallpaperPreferenceController.KEY_WALLPAPER);
return keys;
}
public class WallpaperPreferenceController extends PreferenceController {
- private static final String KEY_WALLPAPER = "wallpaper";
+ public static final String KEY_WALLPAPER = "wallpaper";
public WallpaperPreferenceController(Context context) {
super(context);
finish();
}
- @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
+ @VisibleForTesting
void startFallbackSuggestion() {
// fall back to default wallpaper picker
Utils.startWithFragment(this, WallpaperTypeSettings.class.getName(), null, null, 0,
final List<ResolveInfo> rList = pm.queryIntentActivities(intent,
PackageManager.MATCH_DEFAULT_ONLY);
- // Add indexable data for each of the matching activities
+ // 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;