diff options
| -rw-r--r-- | services/core/java/com/android/server/pm/ShortcutPackage.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/ShortcutPackage.java b/services/core/java/com/android/server/pm/ShortcutPackage.java index bda25895a4b3..8921fee6c8e0 100644 --- a/services/core/java/com/android/server/pm/ShortcutPackage.java +++ b/services/core/java/com/android/server/pm/ShortcutPackage.java @@ -442,6 +442,16 @@ class ShortcutPackage extends ShortcutPackageItem { sortShortcutsToActivities(); final ArrayList<ShortcutInfo> activityShortcuts = all.get(newShortcut.getActivity()); + if (activityShortcuts != null && activityShortcuts.size() > maxShortcuts) { + Slog.e(TAG, "Error pushing shortcut. There are already " + + activityShortcuts.size() + " shortcuts, exceeding the " + maxShortcuts + + " shortcuts limit when pushing the new shortcut " + newShortcut + + ". Id of shortcuts currently available in system memory are " + + activityShortcuts.stream().map(ShortcutInfo::getId) + .collect(Collectors.joining(",", "[", "]"))); + // TODO: This should not have happened. If it does, identify the root cause where + // possible, otherwise bail-out early to prevent memory issue. + } if (activityShortcuts != null && activityShortcuts.size() == maxShortcuts) { // Max has reached. Delete the shortcut with lowest rank. |