summaryrefslogtreecommitdiff
path: root/PermissionController
diff options
context:
space:
mode:
author Justin Lannin <jlannin@google.com> 2025-03-19 17:49:29 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2025-03-19 17:49:29 -0700
commite20d63fd097e37a8d803391feff7447f83c2f5d8 (patch)
treeea430f10e546cf7886f3e7b571c786d1db5fcae3 /PermissionController
parentfec423fc10e585fb9bbe829d0a17fd440a463fc3 (diff)
parent1378bb8df731e8be31bb2372741b4ab1ccacddef (diff)
Merge "Wear: Hide health group if not requesting system permissions." into main
Diffstat (limited to 'PermissionController')
-rw-r--r--PermissionController/src/com/android/permissioncontroller/permission/utils/Utils.java19
1 files changed, 16 insertions, 3 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/utils/Utils.java b/PermissionController/src/com/android/permissioncontroller/permission/utils/Utils.java
index 327142896..93e5abc70 100644
--- a/PermissionController/src/com/android/permissioncontroller/permission/utils/Utils.java
+++ b/PermissionController/src/com/android/permissioncontroller/permission/utils/Utils.java
@@ -1109,10 +1109,23 @@ public final class Utils {
return false;
}
- // Always show Fitness&Wellness chip on Wear.
+ // Only show Fitness&Wellness chip on Wear if the app is requesting system permissions.
if (Flags.replaceBodySensorPermissionEnabled()
- && pm.hasSystemFeature(PackageManager.FEATURE_WATCH)) {
- return true;
+ && pm.hasSystemFeature(PackageManager.FEATURE_WATCH)) {
+ Set<String> requestedPermissions = new HashSet<>(packageInfo.getRequestedPermissions());
+ for (PermissionInfo permission : permissions) {
+ if (!requestedPermissions.contains(permission.name)) {
+ continue;
+ }
+ String appOpStr = AppOpsManager.permissionToOp(permission.name);
+ if (appOpStr != null
+ && !appOpStr.equals(AppOpsManager.OPSTR_READ_WRITE_HEALTH_DATA)) {
+ // Found system health permission. Show the chip.
+ return true;
+ }
+ }
+ // No valid system permissions are requested.
+ return false;
}
// Check in permission is already granted as we should not hide it in the UX at that point.