From ca258b36be07f4835c9cc5fbc3e84e9851647dce Mon Sep 17 00:00:00 2001 From: Tony Wickham Date: Thu, 28 Jul 2016 12:31:28 -0700 Subject: [PATCH] Only add shortcuts to the deep shortcut map if they are dynamic/manifest. Bug: 30475465 Change-Id: I93aff6330b86a3bfa3e6b5741ab759d835618f0b --- src/com/android/launcher3/LauncherModel.java | 4 +++- src/com/android/launcher3/shortcuts/ShortcutInfoCompat.java | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java index b42f80c0fd..b465b3a4ac 100644 --- a/src/com/android/launcher3/LauncherModel.java +++ b/src/com/android/launcher3/LauncherModel.java @@ -2842,7 +2842,9 @@ public class LauncherModel extends BroadcastReceiver // Now add the new shortcuts to the map. for (ShortcutInfoCompat shortcut : shortcuts) { - if (shortcut.isEnabled()) { + boolean shouldShowInContainer = shortcut.isEnabled() + && (shortcut.isDeclaredInManifest() || shortcut.isDynamic()); + if (shouldShowInContainer) { ComponentKey targetComponent = new ComponentKey(shortcut.getActivity(), shortcut.getUserHandle()); mBgDeepShortcutMap.addToList(targetComponent, shortcut.getId()); diff --git a/src/com/android/launcher3/shortcuts/ShortcutInfoCompat.java b/src/com/android/launcher3/shortcuts/ShortcutInfoCompat.java index 9e7add56c0..d7fcda6b7a 100644 --- a/src/com/android/launcher3/shortcuts/ShortcutInfoCompat.java +++ b/src/com/android/launcher3/shortcuts/ShortcutInfoCompat.java @@ -26,7 +26,6 @@ import android.os.Build; import com.android.launcher3.ItemInfo; import com.android.launcher3.compat.UserHandleCompat; import com.android.launcher3.compat.UserManagerCompat; -import com.android.launcher3.util.ComponentKey; /** * Wrapper class for {@link android.content.pm.ShortcutInfo}, representing deep shortcuts into apps. @@ -105,6 +104,10 @@ public class ShortcutInfoCompat { return mShortcutInfo.isEnabled(); } + public boolean isDynamic() { + return mShortcutInfo.isDynamic(); + } + public int getRank() { return mShortcutInfo.getRank(); }