diff options
| author | 2025-01-03 17:43:33 -0800 | |
|---|---|---|
| committer | 2025-01-03 17:43:33 -0800 | |
| commit | 6137a48ee0f9ce5dc2ec37f887e915ffc4780cd7 (patch) | |
| tree | b4328368635eca82bfcdeff7ccb046285d6f0db9 | |
| parent | fac5420add68751ac6065ad9536574e75c2fd726 (diff) | |
| parent | ef93e8a503fc1aa3bd9ff0cd37cd76261c6c80aa (diff) | |
Merge "Allow root uid to listen for uid state changes across users." into main
| -rw-r--r-- | services/core/java/com/android/server/am/UidObserverController.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/am/UidObserverController.java b/services/core/java/com/android/server/am/UidObserverController.java index 7eeec32cf24a..f58e3f85bb26 100644 --- a/services/core/java/com/android/server/am/UidObserverController.java +++ b/services/core/java/com/android/server/am/UidObserverController.java @@ -31,6 +31,7 @@ import android.os.Binder; import android.os.Handler; import android.os.IBinder; import android.os.Message; +import android.os.Process; import android.os.RemoteCallbackList; import android.os.RemoteException; import android.os.SystemClock; @@ -90,10 +91,12 @@ public class UidObserverController { + UUID.randomUUID().toString()); synchronized (mLock) { + final boolean canInteractAcrossUsers = ActivityManager.checkComponentPermission( + INTERACT_ACROSS_USERS_FULL, callingUid, Process.INVALID_UID, true) + == PackageManager.PERMISSION_GRANTED; mUidObservers.register(observer, new UidObserverRegistration(callingUid, callingPackage, which, cutpoint, - ActivityManager.checkUidPermission(INTERACT_ACROSS_USERS_FULL, callingUid) - == PackageManager.PERMISSION_GRANTED, uids, token)); + canInteractAcrossUsers, uids, token)); } return token; |