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

Commit aaf8de42 authored by Jeff Sharkey's avatar Jeff Sharkey
Browse files

Default grants for "Nearby devices" permission.

The location stack can interact with nearby devices to better resolve
the device's location, so grant access by default.

The companion device app needs to interact with nearby devices as
part of configuring them.

Bug: 181813006
Test: atest CtsPermission2TestCases
Test: atest CtsPermission3TestCases
Test: atest CtsStatsdAtomHostTestCases
Change-Id: Ib0d740b1e5928a55ca7a1e454ed19d3b96b52444
parent 1e8d1a62
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -206,6 +206,12 @@ final class DefaultPermissionGrantPolicy {
        STORAGE_PERMISSIONS.add(Manifest.permission.ACCESS_MEDIA_LOCATION);
    }

    private static final Set<String> NEARBY_DEVICES_PERMISSIONS = new ArraySet<>();
    static {
        NEARBY_DEVICES_PERMISSIONS.add(Manifest.permission.BLUETOOTH_CONNECT);
        NEARBY_DEVICES_PERMISSIONS.add(Manifest.permission.BLUETOOTH_SCAN);
    }

    private static final int MSG_READ_DEFAULT_PERMISSION_EXCEPTIONS = 1;

    private static final String ACTION_TRACK = "com.android.fitness.TRACK";
@@ -733,14 +739,15 @@ final class DefaultPermissionGrantPolicy {
                        PHONE_PERMISSIONS, SMS_PERMISSIONS, CAMERA_PERMISSIONS,
                        SENSORS_PERMISSIONS, STORAGE_PERMISSIONS);
                grantSystemFixedPermissionsToSystemPackage(pm, packageName, userId,
                        ALWAYS_LOCATION_PERMISSIONS, ACTIVITY_RECOGNITION_PERMISSIONS);
                        ALWAYS_LOCATION_PERMISSIONS, NEARBY_DEVICES_PERMISSIONS,
                        ACTIVITY_RECOGNITION_PERMISSIONS);
            }
        }
        if (locationExtraPackageNames != null) {
            // Also grant location and activity recognition permission to location extra packages.
            for (String packageName : locationExtraPackageNames) {
                grantPermissionsToSystemPackage(pm, packageName, userId,
                        ALWAYS_LOCATION_PERMISSIONS);
                        ALWAYS_LOCATION_PERMISSIONS, NEARBY_DEVICES_PERMISSIONS);
                grantSystemFixedPermissionsToSystemPackage(pm, packageName, userId,
                        ACTIVITY_RECOGNITION_PERMISSIONS);
            }
@@ -809,7 +816,7 @@ final class DefaultPermissionGrantPolicy {
        // Companion devices
        grantSystemFixedPermissionsToSystemPackage(pm,
                CompanionDeviceManager.COMPANION_DEVICE_DISCOVERY_PACKAGE_NAME, userId,
                ALWAYS_LOCATION_PERMISSIONS);
                ALWAYS_LOCATION_PERMISSIONS, NEARBY_DEVICES_PERMISSIONS);

        // Ringtone Picker
        grantSystemFixedPermissionsToSystemPackage(pm,