diff options
author | Edward Jee <edjee@google.com> | 2014-09-16 01:19:18 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-09-16 01:19:19 +0000 |
commit | 1bbfcc2fdcbe72a69477b0395ea92f777efb7c9d (patch) | |
tree | a936e6d115820fd6a2cafc78e0567ae94c61a747 /core/java/android/bluetooth | |
parent | 4e5eddff5eeea38e540465162609f9d9618da09c (diff) | |
parent | 8dd30aadaf133fe1b8974847efdd5b8cf285136d (diff) | |
download | frameworks_base-1bbfcc2fdcbe72a69477b0395ea92f777efb7c9d.zip frameworks_base-1bbfcc2fdcbe72a69477b0395ea92f777efb7c9d.tar.gz frameworks_base-1bbfcc2fdcbe72a69477b0395ea92f777efb7c9d.tar.bz2 |
Merge "Adds APIs for Bluetooth PBAP and MAP access permission." into lmp-dev
Diffstat (limited to 'core/java/android/bluetooth')
-rw-r--r-- | core/java/android/bluetooth/BluetoothDevice.java | 131 | ||||
-rw-r--r-- | core/java/android/bluetooth/IBluetooth.aidl | 5 |
2 files changed, 102 insertions, 34 deletions
diff --git a/core/java/android/bluetooth/BluetoothDevice.java b/core/java/android/bluetooth/BluetoothDevice.java index 860512b..5e50b69 100644 --- a/core/java/android/bluetooth/BluetoothDevice.java +++ b/core/java/android/bluetooth/BluetoothDevice.java @@ -517,6 +517,27 @@ public final class BluetoothDevice implements Parcelable { */ public static final String EXTRA_UUID = "android.bluetooth.device.extra.UUID"; + /** + * For {@link #getPhonebookAccessPermission}, {@link #setPhonebookAccessPermission}, + * {@link #getMessageAccessPermission} and {@link #setMessageAccessPermission}. + * @hide + */ + public static final int ACCESS_UNKNOWN = 0; + + /** + * For {@link #getPhonebookAccessPermission}, {@link #setPhonebookAccessPermission}, + * {@link #getMessageAccessPermission} and {@link #setMessageAccessPermission}. + * @hide + */ + public static final int ACCESS_ALLOWED = 1; + + /** + * For {@link #getPhonebookAccessPermission}, {@link #setPhonebookAccessPermission}, + * {@link #getMessageAccessPermission} and {@link #setMessageAccessPermission}. + * @hide + */ + public static final int ACCESS_REJECTED = 2; + /** * No preferrence of physical transport for GATT connections to remote dual-mode devices * @hide @@ -952,39 +973,6 @@ public final class BluetoothDevice implements Parcelable { } /** - * Get trust state of a remote device. - * <p>Requires {@link android.Manifest.permission#BLUETOOTH}. - * @hide - */ - public boolean getTrustState() { - //TODO(BT) - /* - try { - return sService.getTrustState(this); - } catch (RemoteException e) { - Log.e(TAG, "", e); - }*/ - return false; - } - - /** - * Set trust state for a remote device. - * <p>Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN}. - * @param value the trust state value (true or false) - * @hide - */ - public boolean setTrust(boolean value) { - //TODO(BT) - /* - try { - return sService.setTrust(this, value); - } catch (RemoteException e) { - Log.e(TAG, "", e); - }*/ - return false; - } - - /** * Returns the supported features (UUIDs) of the remote device. * * <p>This method does not start a service discovery procedure to retrieve the UUIDs @@ -1135,6 +1123,82 @@ public final class BluetoothDevice implements Parcelable { } /** + * Requires {@link android.Manifest.permission#BLUETOOTH}. + * @return Whether the phonebook access is allowed to this device. Can be + * {@link #ACCESS_UNKNOWN}, {@link #ACCESS_ALLOWED} or {@link #ACCESS_REJECTED}. + * @hide + */ + public int getPhonebookAccessPermission() { + if (sService == null) { + return ACCESS_UNKNOWN; + } + try { + return sService.getPhonebookAccessPermission(this); + } catch (RemoteException e) { + Log.e(TAG, "", e); + } + return ACCESS_UNKNOWN; + } + + /** + * Sets whether the phonebook access is allowed to this device. + * <p>Requires {@link android.Manifest.permission#BLUETOOTH_PRIVILEGED}. + * @param value Can be {@link #ACCESS_UNKNOWN}, {@link #ACCESS_ALLOWED} or + * {@link #ACCESS_REJECTED}. + * @return Whether the value has been successfully set. + * @hide + */ + public boolean setPhonebookAccessPermission(int value) { + if (sService == null) { + return false; + } + try { + return sService.setPhonebookAccessPermission(this, value); + } catch (RemoteException e) { + Log.e(TAG, "", e); + } + return false; + } + + /** + * Requires {@link android.Manifest.permission#BLUETOOTH}. + * @return Whether the message access is allowed to this device. Can be + * {@link #ACCESS_UNKNOWN}, {@link #ACCESS_ALLOWED} or {@link #ACCESS_REJECTED}. + * @hide + */ + public int getMessageAccessPermission() { + if (sService == null) { + return ACCESS_UNKNOWN; + } + try { + return sService.getMessageAccessPermission(this); + } catch (RemoteException e) { + Log.e(TAG, "", e); + } + return ACCESS_UNKNOWN; + } + + /** + * Sets whether the message access is allowed to this device. + * <p>Requires {@link android.Manifest.permission#BLUETOOTH_PRIVILEGED}. + * @param value Can be {@link #ACCESS_UNKNOWN}, {@link #ACCESS_ALLOWED} or + * {@link #ACCESS_REJECTED}. + * @return Whether the value has been successfully set. + * @hide + */ + public boolean setMessageAccessPermission(int value) { + if (sService == null) { + return false; + } + try { + return sService.setMessageAccessPermission(this, value); + } catch (RemoteException e) { + Log.e(TAG, "", e); + } + return false; + } + + /** * Create an RFCOMM {@link BluetoothSocket} ready to start a secure * outgoing connection to this remote device on given channel. * <p>The remote device will be authenticated and communication on this @@ -1343,5 +1407,4 @@ public final class BluetoothDevice implements Parcelable { } catch (RemoteException e) {Log.e(TAG, "", e);} return null; } - } diff --git a/core/java/android/bluetooth/IBluetooth.aidl b/core/java/android/bluetooth/IBluetooth.aidl index 19c600c..cf2a343 100644 --- a/core/java/android/bluetooth/IBluetooth.aidl +++ b/core/java/android/bluetooth/IBluetooth.aidl @@ -75,6 +75,11 @@ interface IBluetooth passkey); boolean setPairingConfirmation(in BluetoothDevice device, boolean accept); + int getPhonebookAccessPermission(in BluetoothDevice device); + boolean setPhonebookAccessPermission(in BluetoothDevice device, int value); + int getMessageAccessPermission(in BluetoothDevice device); + boolean setMessageAccessPermission(in BluetoothDevice device, int value); + void sendConnectionStateChange(in BluetoothDevice device, int profile, int state, int prevState); void registerCallback(in IBluetoothCallback callback); |