diff --git a/services/core/java/com/android/server/pm/ShortcutLauncher.java b/services/core/java/com/android/server/pm/ShortcutLauncher.java index c0c2349532978..c6a7dd7499f19 100644 --- a/services/core/java/com/android/server/pm/ShortcutLauncher.java +++ b/services/core/java/com/android/server/pm/ShortcutLauncher.java @@ -144,8 +144,8 @@ class ShortcutLauncher extends ShortcutPackageItem { final ArraySet prevSet = mPinnedShortcuts.get(pu); // Actually pin shortcuts. - // This logic here is to make sure a launcher cannot pin a shortcut that is floating - // (i.e. not dynamic nor manifest but is pinned) and pinned by another launcher. + // This logic here is to make sure a launcher cannot pin a shortcut that is not dynamic + // nor long-lived nor manifest but is pinned. // In this case, technically the shortcut doesn't exist to this launcher, so it can't // pin it. // (Maybe unnecessarily strict...) @@ -158,7 +158,7 @@ class ShortcutLauncher extends ShortcutPackageItem { if (si == null) { continue; } - if (si.isDynamic() + if (si.isDynamic() || si.isLongLived() || si.isManifestShortcut() || (prevSet != null && prevSet.contains(id)) || forPinRequest) {