From e06b895177bd69da732b32a996498ec2fac5a8e4 Mon Sep 17 00:00:00 2001 From: Alex Stetson Date: Tue, 31 Jan 2023 14:14:15 -0800 Subject: [PATCH] Allow all SystemUI processes to skip permission check Similar workaround as ag/17513858 (b/221782106) but for all SystemUI processes (regardless of user). Bug: 261777399 Test: manual Change-Id: I2c087982ea7ea61aed739bb156844641807ddd3b --- .../android/server/sensorprivacy/SensorPrivacyService.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/sensorprivacy/SensorPrivacyService.java b/services/core/java/com/android/server/sensorprivacy/SensorPrivacyService.java index 6d391779ea18d..a694f5f1b6292 100644 --- a/services/core/java/com/android/server/sensorprivacy/SensorPrivacyService.java +++ b/services/core/java/com/android/server/sensorprivacy/SensorPrivacyService.java @@ -863,8 +863,9 @@ public final class SensorPrivacyService extends SystemService { */ private void enforceObserveSensorPrivacyPermission() { String systemUIPackage = mContext.getString(R.string.config_systemUi); - if (Binder.getCallingUid() == mPackageManagerInternal - .getPackageUid(systemUIPackage, MATCH_SYSTEM_ONLY, UserHandle.USER_SYSTEM)) { + int systemUIAppId = UserHandle.getAppId(mPackageManagerInternal + .getPackageUid(systemUIPackage, MATCH_SYSTEM_ONLY, UserHandle.USER_SYSTEM)); + if (UserHandle.getCallingAppId() == systemUIAppId) { // b/221782106, possible race condition with role grant might bootloop device. return; }