From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Pinyao Ting <pinyaoting@google.com>
Date: Tue, 12 Sep 2023 22:37:16 +0000
Subject: [PATCH] Fix permission bypass in legacy shortcut

Intent created for Chooser should not be allowed in legacy shortcuts
since it doesn't make sense for user to tap on a shortcut in homescreen
to share, the expected share flow started from ShareSheet.

Bug: 295334906, 295045199
Test: manual
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:b7b192bd7f24a2aa7d6881ee949657c9760c0305)
Merged-In: I8d0cbccdc31bd4cb927830e5ecf841147400fdfa
Change-Id: I8d0cbccdc31bd4cb927830e5ecf841147400fdfa
---
 .../android/launcher3/util/PackageManagerHelper.java  | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/src/com/android/launcher3/util/PackageManagerHelper.java b/src/com/android/launcher3/util/PackageManagerHelper.java
index 1c05c993c7..1b97e478c9 100644
--- a/src/com/android/launcher3/util/PackageManagerHelper.java
+++ b/src/com/android/launcher3/util/PackageManagerHelper.java
@@ -105,15 +105,8 @@ public class PackageManagerHelper {
     public boolean hasPermissionForActivity(Intent intent, String srcPackage) {
         // b/270152142
         if (Intent.ACTION_CHOOSER.equals(intent.getAction())) {
-            final Bundle extras = intent.getExtras();
-            if (extras == null) {
-                return true;
-            }
-            // If given intent is ACTION_CHOOSER, verify srcPackage has permission over EXTRA_INTENT
-            intent = (Intent) extras.getParcelable(Intent.EXTRA_INTENT);
-            if (intent == null) {
-                return true;
-            }
+            // Chooser shortcuts is not a valid target
+            return false;
         }
         ResolveInfo target = mPm.resolveActivity(intent, 0);
         if (target == null) {
