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
This commit is contained in:
@@ -127,6 +127,7 @@ public class DisplaySettings extends DashboardFragment {
|
|||||||
public List<String> getNonIndexableKeys(Context context) {
|
public List<String> getNonIndexableKeys(Context context) {
|
||||||
List<String> keys = super.getNonIndexableKeys(context);
|
List<String> keys = super.getNonIndexableKeys(context);
|
||||||
keys.add(KEY_DISPLAY_SIZE);
|
keys.add(KEY_DISPLAY_SIZE);
|
||||||
|
keys.add(WallpaperPreferenceController.KEY_WALLPAPER);
|
||||||
return keys;
|
return keys;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -25,7 +25,7 @@ import static android.os.UserManager.DISALLOW_SET_WALLPAPER;
|
|||||||
|
|
||||||
public class WallpaperPreferenceController extends PreferenceController {
|
public class WallpaperPreferenceController extends PreferenceController {
|
||||||
|
|
||||||
private static final String KEY_WALLPAPER = "wallpaper";
|
public static final String KEY_WALLPAPER = "wallpaper";
|
||||||
|
|
||||||
public WallpaperPreferenceController(Context context) {
|
public WallpaperPreferenceController(Context context) {
|
||||||
super(context);
|
super(context);
|
||||||
|
@@ -45,7 +45,7 @@ public class WallpaperSuggestionActivity extends Activity {
|
|||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
|
@VisibleForTesting
|
||||||
void startFallbackSuggestion() {
|
void startFallbackSuggestion() {
|
||||||
// fall back to default wallpaper picker
|
// fall back to default wallpaper picker
|
||||||
Utils.startWithFragment(this, WallpaperTypeSettings.class.getName(), null, null, 0,
|
Utils.startWithFragment(this, WallpaperTypeSettings.class.getName(), null, null, 0,
|
||||||
|
@@ -90,8 +90,13 @@ public class WallpaperTypeSettings extends SettingsPreferenceFragment implements
|
|||||||
final List<ResolveInfo> rList = pm.queryIntentActivities(intent,
|
final List<ResolveInfo> rList = pm.queryIntentActivities(intent,
|
||||||
PackageManager.MATCH_DEFAULT_ONLY);
|
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) {
|
for (ResolveInfo info : rList) {
|
||||||
|
if (!wallpaperPickerPackage.equals(info.activityInfo.packageName)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
CharSequence label = info.loadLabel(pm);
|
CharSequence label = info.loadLabel(pm);
|
||||||
if (label == null) label = info.activityInfo.packageName;
|
if (label == null) label = info.activityInfo.packageName;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user