diff options
author | Evan Chen <evanxinchen@google.com> | 2023-11-02 17:38:38 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2023-11-02 17:38:38 +0000 |
commit | a77c789d0f399ee9e0bb72c6f77578ccd39d0625 (patch) | |
tree | a756590532c4dd15b55508683fe7b04094f96b1e | |
parent | b5aeeec9ce3153f42e5fecc7bbf4fb80c7eb19e0 (diff) | |
parent | 2335fc14da918068d496c3819f0b561410997714 (diff) | |
download | base-a77c789d0f399ee9e0bb72c6f77578ccd39d0625.tar.gz |
Merge "Do not allow setting notification access across users." into tm-dev am: 2335fc14da
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/25096532
Change-Id: I95ea1749ddd8912d42a53f49bc3c9b14eaefc983
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java index 3ac7b8e6668e..5f6211f158c2 100644 --- a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java +++ b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java @@ -543,8 +543,7 @@ public class CompanionDeviceManagerService extends SystemService { public PendingIntent requestNotificationAccess(ComponentName component, int userId) throws RemoteException { String callingPackage = component.getPackageName(); - checkCanCallNotificationApi(callingPackage); - // TODO: check userId. + checkCanCallNotificationApi(callingPackage, userId); if (component.flattenToString().length() > MAX_CN_LENGTH) { throw new IllegalArgumentException("Component name is too long."); } @@ -570,7 +569,7 @@ public class CompanionDeviceManagerService extends SystemService { @Deprecated @Override public boolean hasNotificationAccess(ComponentName component) throws RemoteException { - checkCanCallNotificationApi(component.getPackageName()); + checkCanCallNotificationApi(component.getPackageName(), getCallingUserId()); NotificationManager nm = getContext().getSystemService(NotificationManager.class); return nm.isNotificationListenerAccessGranted(component); } @@ -727,8 +726,7 @@ public class CompanionDeviceManagerService extends SystemService { legacyCreateAssociation(userId, macAddress, packageName, null); } - private void checkCanCallNotificationApi(String callingPackage) { - final int userId = getCallingUserId(); + private void checkCanCallNotificationApi(String callingPackage, int userId) { enforceCallerIsSystemOr(userId, callingPackage); if (getCallingUid() == SYSTEM_UID) return; |