Removing config shortcut activities for managed profiles for
apps build with older sdk

> Also fixing the bug where legacy icon with primary user gets
created when managed user failed to provide the new icon

Bug: 34392403
Change-Id: I1d56962e9520742781df6cbeb03be2b9767a8c0b
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index b388d28..d4bfc49 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -1451,9 +1451,14 @@
         }
 
         if (info == null) {
-            info = InstallShortcutReceiver.fromShortcutIntent(this, data);
+            // Legacy shortcuts are only supported for primary profile.
+            info = Process.myUserHandle().equals(args.user)
+                    ? InstallShortcutReceiver.fromShortcutIntent(this, data) : null;
 
-            if (info == null || !new PackageManagerHelper(this).hasPermissionForActivity(
+            if (info == null) {
+                Log.e(TAG, "Unable to parse a valid custom shortcut result");
+                return;
+            } else if (!new PackageManagerHelper(this).hasPermissionForActivity(
                     info.intent, args.getPendingIntent().getComponent().getPackageName())) {
                 // The app is trying to add a shortcut without sufficient permissions
                 Log.e(TAG, "Ignoring malicious intent " + info.intent.toUri(0));