OSDN Git Service

Require ACCESS_COARSE_LOCATION for ACTION_FOUND broadcast
authorFyodor Kupolov <fkupolov@google.com>
Tue, 14 Jul 2015 18:31:28 +0000 (11:31 -0700)
committerFyodor Kupolov <fkupolov@google.com>
Wed, 15 Jul 2015 01:03:04 +0000 (18:03 -0700)
Receivers of ACTION_FOUND intent are now required to have
ACCESS_COARSE_LOCATION permission.

Bug: 21852542
Change-Id: Ia3bca7e9cd117536a3eb4f4d1fe405604b2ff40f

src/com/android/bluetooth/btservice/RemoteDevices.java

index 4b8979c..d583398 100644 (file)
@@ -313,11 +313,13 @@ final class RemoteDevices {
         Intent intent = new Intent(BluetoothDevice.ACTION_FOUND);
         intent.putExtra(BluetoothDevice.EXTRA_DEVICE, device);
         intent.putExtra(BluetoothDevice.EXTRA_CLASS,
-                new BluetoothClass(Integer.valueOf(deviceProp.mBluetoothClass)));
+                new BluetoothClass(deviceProp.mBluetoothClass));
         intent.putExtra(BluetoothDevice.EXTRA_RSSI, deviceProp.mRssi);
         intent.putExtra(BluetoothDevice.EXTRA_NAME, deviceProp.mName);
 
-        mAdapterService.sendBroadcast(intent, mAdapterService.BLUETOOTH_PERM);
+        mAdapterService.sendBroadcastMultiplePermissions(intent,
+                new String[] {AdapterService.BLUETOOTH_PERM,
+                        android.Manifest.permission.ACCESS_COARSE_LOCATION});
     }
 
     void aclStateChangeCallback(int status, byte[] address, int newState) {