diff options
author | 2025-03-19 17:49:29 -0700 | |
---|---|---|
committer | 2025-03-19 17:49:29 -0700 | |
commit | e20d63fd097e37a8d803391feff7447f83c2f5d8 (patch) | |
tree | ea430f10e546cf7886f3e7b571c786d1db5fcae3 /PermissionController | |
parent | fec423fc10e585fb9bbe829d0a17fd440a463fc3 (diff) | |
parent | 1378bb8df731e8be31bb2372741b4ab1ccacddef (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.java | 19 |
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. |