summaryrefslogtreecommitdiffstats
path: root/core/java/android/bluetooth
diff options
context:
space:
mode:
authorEdward Jee <edjee@google.com>2014-09-16 01:19:18 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-09-16 01:19:19 +0000
commit1bbfcc2fdcbe72a69477b0395ea92f777efb7c9d (patch)
treea936e6d115820fd6a2cafc78e0567ae94c61a747 /core/java/android/bluetooth
parent4e5eddff5eeea38e540465162609f9d9618da09c (diff)
parent8dd30aadaf133fe1b8974847efdd5b8cf285136d (diff)
downloadframeworks_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.java131
-rw-r--r--core/java/android/bluetooth/IBluetooth.aidl5
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);