diff --git a/core/java/android/companion/ICompanionDeviceManager.aidl b/core/java/android/companion/ICompanionDeviceManager.aidl index b5e2670e52995..08f345cade9e0 100644 --- a/core/java/android/companion/ICompanionDeviceManager.aidl +++ b/core/java/android/companion/ICompanionDeviceManager.aidl @@ -49,6 +49,7 @@ interface ICompanionDeviceManager { PendingIntent requestNotificationAccess(in ComponentName component, int userId); /** @deprecated */ + @EnforcePermission("MANAGE_COMPANION_DEVICES") boolean isDeviceAssociatedForWifiConnection(in String packageName, in String macAddress, int userId); diff --git a/core/java/android/companion/virtual/IVirtualDeviceManager.aidl b/core/java/android/companion/virtual/IVirtualDeviceManager.aidl index 4f49b8dbd0dc8..d537c931d4c21 100644 --- a/core/java/android/companion/virtual/IVirtualDeviceManager.aidl +++ b/core/java/android/companion/virtual/IVirtualDeviceManager.aidl @@ -44,6 +44,7 @@ interface IVirtualDeviceManager { * @param activityListener The listener to listen for activity changes in a virtual device. * @param soundEffectListener The listener to listen for sound effect playback requests. */ + @EnforcePermission("CREATE_VIRTUAL_DEVICE") IVirtualDevice createVirtualDevice( in IBinder token, String packageName, int associationId, in VirtualDeviceParams params, in IVirtualDeviceActivityListener activityListener, diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java index 542cc2f0a0a68..0630956af5d0c 100644 --- a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java +++ b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java @@ -17,7 +17,6 @@ package com.android.server.companion; -import static android.Manifest.permission.MANAGE_COMPANION_DEVICES; import static android.app.ActivityManager.RunningAppProcessInfo.IMPORTANCE_VISIBLE; import static android.content.pm.PackageManager.CERT_INPUT_SHA256; import static android.content.pm.PackageManager.PERMISSION_GRANTED; @@ -688,11 +687,11 @@ public class CompanionDeviceManagerService extends SystemService { return nm.isNotificationListenerAccessGranted(component); } + @android.annotation.EnforcePermission(android.Manifest.permission.MANAGE_COMPANION_DEVICES) @Override public boolean isDeviceAssociatedForWifiConnection(String packageName, String macAddress, int userId) { - getContext().enforceCallingOrSelfPermission( - MANAGE_COMPANION_DEVICES, "isDeviceAssociated"); + isDeviceAssociatedForWifiConnection_enforcePermission(); boolean bypassMacPermission = getContext().getPackageManager().checkPermission( android.Manifest.permission.COMPANION_APPROVE_WIFI_CONNECTIONS, packageName) diff --git a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java index 3b1983f55fb65..8fb6ae836023b 100644 --- a/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java +++ b/services/companion/java/com/android/server/companion/virtual/VirtualDeviceManagerService.java @@ -233,6 +233,7 @@ public class VirtualDeviceManagerService extends SystemService { } }; + @android.annotation.EnforcePermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) @Override // Binder call public IVirtualDevice createVirtualDevice( IBinder token, @@ -241,9 +242,7 @@ public class VirtualDeviceManagerService extends SystemService { @NonNull VirtualDeviceParams params, @NonNull IVirtualDeviceActivityListener activityListener, @NonNull IVirtualDeviceSoundEffectListener soundEffectListener) { - getContext().enforceCallingOrSelfPermission( - android.Manifest.permission.CREATE_VIRTUAL_DEVICE, - "createVirtualDevice"); + createVirtualDevice_enforcePermission(); final int callingUid = getCallingUid(); if (!PermissionUtils.validateCallingPackageName(getContext(), packageName)) { throw new SecurityException(