Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aa21535e authored by mattgilbride's avatar mattgilbride
Browse files

@EnforcePermission migrations - services.companion

Migrates call sites to use the @EnforcePermission annotation
instead of manually checking permissions.

These are fully behavior-preserving changes that can be identified by
Android Lint (see SimpleManualPermissionEnforcementDetector)

Bug: 265014041
Test: TH
Change-Id: Idde67606774a140c3fc5ac502eaf356f2d940b46
parent f3790b30
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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);

+1 −0
Original line number Diff line number Diff line
@@ -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,
+2 −3
Original line number Diff line number Diff line
@@ -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)
+2 −3
Original line number Diff line number Diff line
@@ -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(