From a82a7f0cbe84001e8ff45abce9bda6780ba8231d Mon Sep 17 00:00:00 2001 From: Vayun Mathur <69178052+vayun-mathur@users.noreply.github.com> Date: Thu, 25 Jun 2026 13:59:40 -0700 Subject: [PATCH] don't grant the sensors permission if app explicitly opts out --- .../internal/pm/pkg/parsing/ParsingPackageUtils.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/java/com/android/internal/pm/pkg/parsing/ParsingPackageUtils.java b/core/java/com/android/internal/pm/pkg/parsing/ParsingPackageUtils.java index 699072c44a873..fe3eaa0a0cb20 100644 --- a/core/java/com/android/internal/pm/pkg/parsing/ParsingPackageUtils.java +++ b/core/java/com/android/internal/pm/pkg/parsing/ParsingPackageUtils.java @@ -163,6 +163,8 @@ public class ParsingPackageUtils { private static final String TAG = ParsingUtils.TAG; + private static final String NO_SENSORS_PERMISSION = "org.grapheneos.NO_SENSORS"; + public static final boolean DEBUG_JAR = false; public static final boolean DEBUG_BACKUP = false; public static final float DEFAULT_PRE_O_MAX_ASPECT_RATIO = 1.86f; @@ -1068,7 +1070,9 @@ private ParseResult validateBaseApkTags(ParseInput input, Parsin } } - if (pkg.isDeclaredHavingCode() && !pkg.getUsesPermissionMapping().containsKey(android.Manifest.permission.OTHER_SENSORS)) { + if (pkg.isDeclaredHavingCode() + && !pkg.getUsesPermissionMapping().containsKey(android.Manifest.permission.OTHER_SENSORS) + && !pkg.getUsesPermissionMapping().containsKey(NO_SENSORS_PERMISSION)) { pkg.addImplicitPermission(android.Manifest.permission.OTHER_SENSORS); }