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

Commit 85ec4b86 authored by Evan Chen's avatar Evan Chen Committed by Android (Google) Code Review
Browse files

Merge "Check nearby devices permission for UUID matching" into main

parents 38d847f9 db862d2d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -9877,7 +9877,7 @@ package android.companion {
    ctor public ObservingDevicePresenceRequest.Builder();
    method @NonNull public android.companion.ObservingDevicePresenceRequest build();
    method @NonNull public android.companion.ObservingDevicePresenceRequest.Builder setAssociationId(int);
    method @NonNull @RequiresPermission(android.Manifest.permission.REQUEST_OBSERVE_DEVICE_UUID_PRESENCE) public android.companion.ObservingDevicePresenceRequest.Builder setUuid(@NonNull android.os.ParcelUuid);
    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.REQUEST_OBSERVE_DEVICE_UUID_PRESENCE, android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_SCAN}) public android.companion.ObservingDevicePresenceRequest.Builder setUuid(@NonNull android.os.ParcelUuid);
  }
  public final class WifiDeviceFilter implements android.companion.DeviceFilter<android.net.wifi.ScanResult> {
+5 −1
Original line number Diff line number Diff line
@@ -183,7 +183,11 @@ public final class ObservingDevicePresenceRequest implements Parcelable {
         * @param uuid The ParcelUuid for observing device presence.
         */
        @NonNull
        @RequiresPermission(android.Manifest.permission.REQUEST_OBSERVE_DEVICE_UUID_PRESENCE)
        @RequiresPermission(allOf = {
                android.Manifest.permission.REQUEST_OBSERVE_DEVICE_UUID_PRESENCE,
                android.Manifest.permission.BLUETOOTH_CONNECT,
                android.Manifest.permission.BLUETOOTH_SCAN
        })
        public Builder setUuid(@NonNull ParcelUuid uuid) {
            checkNotUsed();
            this.mUuid = uuid;
+5 −1
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.server.companion.utils;

import static android.Manifest.permission.BLUETOOTH_CONNECT;
import static android.Manifest.permission.BLUETOOTH_SCAN;
import static android.Manifest.permission.INTERACT_ACROSS_USERS;
import static android.Manifest.permission.MANAGE_COMPANION_DEVICES;
import static android.Manifest.permission.REQUEST_COMPANION_SELF_MANAGED;
@@ -209,7 +211,9 @@ public final class PermissionsUtils {
     */
    public static void enforceCallerCanObserveDevicePresenceByUuid(@NonNull Context context) {
        if (context.checkCallingPermission(REQUEST_OBSERVE_DEVICE_UUID_PRESENCE)
                != PERMISSION_GRANTED) {
                != PERMISSION_GRANTED
                || context.checkCallingPermission(BLUETOOTH_SCAN) != PERMISSION_GRANTED
                || context.checkCallingPermission(BLUETOOTH_CONNECT) != PERMISSION_GRANTED) {
            throw new SecurityException("Caller (uid=" + getCallingUid() + ") does not have "
                    + "permissions to request observing device presence base on the UUID");
        }