summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralk3pInjection <webmaster@raspii.tech>2023-09-19 11:54:48 +0800
committeralk3pInjection <webmaster@raspii.tech>2023-09-19 11:54:48 +0800
commitbeb958af2eb2db724d274f0825bb6d6ffa9b6d8b (patch)
tree1ce86327287998c93182f7bdaa39fdd65f539331
parenta2f11a76ed8def07ef59c89708874d43c49fefae (diff)
parent8c56a12c666e6929afc7ad1db048aed6430ea8e9 (diff)
Merge tag 'LA.QSSI.13.0.r1-11500.01-qssi.0' into tachibana-mr1tachibana-mr1
"LA.QSSI.13.0.r1-11500.01-qssi.0" Change-Id: I45755abed841fdcfbc32966064d30286a4454425
-rw-r--r--AndroidManifest-common.xml1
-rw-r--r--src/com/android/launcher3/util/PackageManagerHelper.java12
2 files changed, 12 insertions, 1 deletions
diff --git a/AndroidManifest-common.xml b/AndroidManifest-common.xml
index 65343c5c1c..2a04c48b0e 100644
--- a/AndroidManifest-common.xml
+++ b/AndroidManifest-common.xml
@@ -44,7 +44,6 @@
<!-- for rotating surface by arbitrary degree -->
<uses-permission android:name="android.permission.ROTATE_SURFACE_FLINGER" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
- <uses-permission android:name="android.permission.READ_HOME_APP_SEARCH_DATA" />
<!-- for double tap to sleep -->
<uses-permission android:name="android.permission.DEVICE_POWER" />
diff --git a/src/com/android/launcher3/util/PackageManagerHelper.java b/src/com/android/launcher3/util/PackageManagerHelper.java
index a6a2751dc7..586e0c9e89 100644
--- a/src/com/android/launcher3/util/PackageManagerHelper.java
+++ b/src/com/android/launcher3/util/PackageManagerHelper.java
@@ -145,6 +145,18 @@ public class PackageManagerHelper {
* any permissions
*/
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;
+ }
+ }
ResolveInfo target = mPm.resolveActivity(intent, 0);
if (target == null) {
// Not a valid target