summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Chen <evanxinchen@google.com>2023-11-02 17:38:38 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-11-02 17:38:38 +0000
commita77c789d0f399ee9e0bb72c6f77578ccd39d0625 (patch)
treea756590532c4dd15b55508683fe7b04094f96b1e
parentb5aeeec9ce3153f42e5fecc7bbf4fb80c7eb19e0 (diff)
parent2335fc14da918068d496c3819f0b561410997714 (diff)
downloadbase-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.java8
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;