diff options
| author | Rahul Sabnis <rahulsabnis@google.com> | 2019-11-27 18:09:33 -0800 |
|---|---|---|
| committer | Rahul Sabnis <rahulsabnis@google.com> | 2019-12-02 14:44:54 -0800 |
| commit | df1ef4aa62b8e25b3bbd26a894d140fbcaa35c22 (patch) | |
| tree | b2ea7bc2eaf2d49cad112540db155e2d4f89f001 /core/java/android/bluetooth/BluetoothMapClient.java | |
| parent | 3908351777900699e377526b4645f92effbced60 (diff) | |
Rename priority to connection policy in bluetooth apis
Bug: 145005327
Test: Manual
Change-Id: I43ad57feb7dd70f39005ad7a01bc7dac6fb7b639
Diffstat (limited to 'core/java/android/bluetooth/BluetoothMapClient.java')
| -rw-r--r-- | core/java/android/bluetooth/BluetoothMapClient.java | 64 |
1 files changed, 54 insertions, 10 deletions
diff --git a/core/java/android/bluetooth/BluetoothMapClient.java b/core/java/android/bluetooth/BluetoothMapClient.java index 69682c6ab5d0..0ec473c85adc 100644 --- a/core/java/android/bluetooth/BluetoothMapClient.java +++ b/core/java/android/bluetooth/BluetoothMapClient.java @@ -16,6 +16,9 @@ package android.bluetooth; +import android.Manifest; +import android.annotation.RequiresPermission; +import android.annotation.SystemApi; import android.annotation.UnsupportedAppUsage; import android.app.PendingIntent; import android.content.Context; @@ -240,22 +243,44 @@ public final class BluetoothMapClient implements BluetoothProfile { /** * Set priority of the profile * - * <p> The device should already be paired. Priority can be one of {@link #PRIORITY_ON} or - * {@link #PRIORITY_OFF}, + * <p> The device should already be paired. + * Priority can be one of {@link #PRIORITY_ON} or {@link #PRIORITY_OFF}, * * @param device Paired bluetooth device + * @param priority * @return true if priority is set, false on error + * @hide */ + @RequiresPermission(Manifest.permission.BLUETOOTH_ADMIN) public boolean setPriority(BluetoothDevice device, int priority) { if (DBG) Log.d(TAG, "setPriority(" + device + ", " + priority + ")"); + return setConnectionPolicy(device, BluetoothAdapter.priorityToConnectionPolicy(priority)); + } + + /** + * Set connection policy of the profile + * + * <p> The device should already be paired. + * Connection policy can be one of {@link #CONNECTION_POLICY_ALLOWED}, + * {@link #CONNECTION_POLICY_FORBIDDEN}, {@link #CONNECTION_POLICY_UNKNOWN} + * + * @param device Paired bluetooth device + * @param connectionPolicy is the connection policy to set to for this profile + * @return true if connectionPolicy is set, false on error + * @hide + */ + @SystemApi + @RequiresPermission(Manifest.permission.BLUETOOTH_ADMIN) + public boolean setConnectionPolicy(BluetoothDevice device, int connectionPolicy) { + if (DBG) Log.d(TAG, "setConnectionPolicy(" + device + ", " + connectionPolicy + ")"); final IBluetoothMapClient service = getService(); if (service != null && isEnabled() && isValidDevice(device)) { - if (priority != BluetoothProfile.PRIORITY_OFF - && priority != BluetoothProfile.PRIORITY_ON) { + if (connectionPolicy != BluetoothProfile.CONNECTION_POLICY_FORBIDDEN + && connectionPolicy != BluetoothProfile.CONNECTION_POLICY_ALLOWED) { return false; } try { - return service.setPriority(device, priority); + return service.setConnectionPolicy(device, connectionPolicy); } catch (RemoteException e) { Log.e(TAG, Log.getStackTraceString(new Throwable())); return false; @@ -269,25 +294,44 @@ public final class BluetoothMapClient implements BluetoothProfile { * Get the priority of the profile. * * <p> The priority can be any of: - * {@link #PRIORITY_AUTO_CONNECT}, {@link #PRIORITY_OFF}, - * {@link #PRIORITY_ON}, {@link #PRIORITY_UNDEFINED} + * {@link #PRIORITY_OFF}, {@link #PRIORITY_ON}, {@link #PRIORITY_UNDEFINED} * * @param device Bluetooth device * @return priority of the device + * @hide */ + @RequiresPermission(Manifest.permission.BLUETOOTH) public int getPriority(BluetoothDevice device) { if (VDBG) Log.d(TAG, "getPriority(" + device + ")"); + return BluetoothAdapter.connectionPolicyToPriority(getConnectionPolicy(device)); + } + + /** + * Get the connection policy of the profile. + * + * <p> The connection policy can be any of: + * {@link #CONNECTION_POLICY_ALLOWED}, {@link #CONNECTION_POLICY_FORBIDDEN}, + * {@link #CONNECTION_POLICY_UNKNOWN} + * + * @param device Bluetooth device + * @return connection policy of the device + * @hide + */ + @SystemApi + @RequiresPermission(Manifest.permission.BLUETOOTH) + public int getConnectionPolicy(BluetoothDevice device) { + if (VDBG) Log.d(TAG, "getConnectionPolicy(" + device + ")"); final IBluetoothMapClient service = getService(); if (service != null && isEnabled() && isValidDevice(device)) { try { - return service.getPriority(device); + return service.getConnectionPolicy(device); } catch (RemoteException e) { Log.e(TAG, Log.getStackTraceString(new Throwable())); - return PRIORITY_OFF; + return BluetoothProfile.CONNECTION_POLICY_FORBIDDEN; } } if (service == null) Log.w(TAG, "Proxy not attached to service"); - return PRIORITY_OFF; + return BluetoothProfile.CONNECTION_POLICY_FORBIDDEN; } /** |
