From ebaab6aabd345bacbd83709e71eb8f34223b294e Mon Sep 17 00:00:00 2001 From: Andrew Sapperstein Date: Wed, 28 Jun 2017 17:16:57 -0700 Subject: [PATCH] Reduce number of wallpaper results in search. 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 --- src/com/android/settings/DisplaySettings.java | 1 + .../settings/display/WallpaperPreferenceController.java | 2 +- .../settings/wallpaper/WallpaperSuggestionActivity.java | 2 +- .../android/settings/wallpaper/WallpaperTypeSettings.java | 7 ++++++- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java index 9ce4c4ad984..c7f349e5ad7 100644 --- a/src/com/android/settings/DisplaySettings.java +++ b/src/com/android/settings/DisplaySettings.java @@ -127,6 +127,7 @@ public class DisplaySettings extends DashboardFragment { public List getNonIndexableKeys(Context context) { List keys = super.getNonIndexableKeys(context); keys.add(KEY_DISPLAY_SIZE); + keys.add(WallpaperPreferenceController.KEY_WALLPAPER); return keys; } diff --git a/src/com/android/settings/display/WallpaperPreferenceController.java b/src/com/android/settings/display/WallpaperPreferenceController.java index aa29afcfbef..eb910527191 100644 --- a/src/com/android/settings/display/WallpaperPreferenceController.java +++ b/src/com/android/settings/display/WallpaperPreferenceController.java @@ -25,7 +25,7 @@ import static android.os.UserManager.DISALLOW_SET_WALLPAPER; 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); diff --git a/src/com/android/settings/wallpaper/WallpaperSuggestionActivity.java b/src/com/android/settings/wallpaper/WallpaperSuggestionActivity.java index afbb0b4794b..90c5888f32b 100644 --- a/src/com/android/settings/wallpaper/WallpaperSuggestionActivity.java +++ b/src/com/android/settings/wallpaper/WallpaperSuggestionActivity.java @@ -45,7 +45,7 @@ public class WallpaperSuggestionActivity extends Activity { finish(); } - @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE) + @VisibleForTesting void startFallbackSuggestion() { // fall back to default wallpaper picker Utils.startWithFragment(this, WallpaperTypeSettings.class.getName(), null, null, 0, diff --git a/src/com/android/settings/wallpaper/WallpaperTypeSettings.java b/src/com/android/settings/wallpaper/WallpaperTypeSettings.java index bef47773b14..1ca8ac72436 100644 --- a/src/com/android/settings/wallpaper/WallpaperTypeSettings.java +++ b/src/com/android/settings/wallpaper/WallpaperTypeSettings.java @@ -90,8 +90,13 @@ public class WallpaperTypeSettings extends SettingsPreferenceFragment implements final List 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;