mirror of
https://github.com/Divested-Mobile/DivestOS-Build.git
synced 2024-10-01 01:35:54 -04:00
41 lines
1.9 KiB
Diff
41 lines
1.9 KiB
Diff
|
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 f263331f8f..1ca28f82dc 100644
|
||
|
--- a/src/com/android/launcher3/util/PackageManagerHelper.java
|
||
|
+++ b/src/com/android/launcher3/util/PackageManagerHelper.java
|
||
|
@@ -114,15 +114,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) {
|