diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java
index 5294714c05aec..f9d27bb46592b 100644
--- a/core/java/com/android/internal/app/ChooserActivity.java
+++ b/core/java/com/android/internal/app/ChooserActivity.java
@@ -2327,10 +2327,12 @@ public class ChooserActivity extends ResolverActivity {
private static final int MAX_SUGGESTED_APP_TARGETS = 4;
private static final int MAX_CHOOSER_TARGETS_PER_APP = 2;
- private static final int MAX_SHORTCUT_TARGETS_PER_APP = 8;
private static final int MAX_SERVICE_TARGETS = 8;
+ private final int mMaxShortcutTargetsPerApp =
+ getResources().getInteger(R.integer.config_maxShortcutTargetsPerApp);
+
private int mNumShortcutResults = 0;
// Reserve spots for incoming direct share targets by adding placeholders
@@ -2648,7 +2650,7 @@ public class ChooserActivity extends ResolverActivity {
final float baseScore = getBaseScore(origTarget, isShortcutResult);
Collections.sort(targets, mBaseTargetComparator);
- final int maxTargets = isShortcutResult ? MAX_SHORTCUT_TARGETS_PER_APP
+ final int maxTargets = isShortcutResult ? mMaxShortcutTargetsPerApp
: MAX_CHOOSER_TARGETS_PER_APP;
float lastScore = 0;
boolean shouldNotify = false;
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index bf48cb24d5d7f..e5df45142734f 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -4184,4 +4184,6 @@
one bar higher than they actually are -->
false
+
+ 3
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 219865f171e10..2a99509fe4bab 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -2814,6 +2814,7 @@
+