diff --git a/services/permission/java/com/android/server/permission/access/permission/PermissionService.kt b/services/permission/java/com/android/server/permission/access/permission/PermissionService.kt index 8279600629833ca885ceafee0ed22e70c6784965..1e052c037b3c63744b7f1c25d6819c91e848475a 100644 --- a/services/permission/java/com/android/server/permission/access/permission/PermissionService.kt +++ b/services/permission/java/com/android/server/permission/access/permission/PermissionService.kt @@ -1753,10 +1753,19 @@ class PermissionService( } override fun addOnPermissionsChangeListener(listener: IOnPermissionsChangeListener) { + context.enforceCallingOrSelfPermission( + Manifest.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS, "addOnPermissionsChangeListener" + ) + onPermissionsChangeListeners.addListener(listener) } override fun removeOnPermissionsChangeListener(listener: IOnPermissionsChangeListener) { + context.enforceCallingOrSelfPermission( + Manifest.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS, + "removeOnPermissionsChangeListener" + ) + onPermissionsChangeListeners.removeListener(listener) }