commit | 9ee0ffed79cf16737bffcd10804f9a60dc3250b4 | [log] [tgz] |
---|---|---|
author | Pinyao Ting <pinyaoting@google.com> | Tue Sep 12 22:37:16 2023 +0000 |
committer | android-t1 <android-t1@t2mobile.com> | Wed Nov 29 10:31:35 2023 +0800 |
tree | 3141fd410e0dd4a977998365a0321f35d7dca941 | |
parent | 3cebf293b167524f30edce081a9d58f97efd58e9 [diff] |
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
diff --git a/src/com/android/launcher3/util/PackageManagerHelper.java b/src/com/android/launcher3/util/PackageManagerHelper.java index 02287fd..fc6a91d 100644 --- a/src/com/android/launcher3/util/PackageManagerHelper.java +++ b/src/com/android/launcher3/util/PackageManagerHelper.java
@@ -155,15 +155,8 @@ 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) {