summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Andre Eisenbach <eisenbach@google.com> 2016-02-04 00:35:32 +0000
committer android-build-merger <android-build-merger@google.com> 2016-02-04 00:35:32 +0000
commit7cbc1aeecdb41076e26c2aa70bdc971ddb294e21 (patch)
tree8200648fc6767908f668f2a7fa076eb13eb1c1d3
parentd24eb54b5409997ece8e49ce2e57d27f8b41d778 (diff)
parent026a58476ba219bcc08608c2e6156683c9158d5d (diff)
Merge "Implementation of BluetoothDevice.createBondOutOfBand"
am: 026a58476b * commit '026a58476ba219bcc08608c2e6156683c9158d5d': Implementation of BluetoothDevice.createBondOutOfBand
-rw-r--r--api/current.txt9
-rw-r--r--api/system-current.txt9
-rw-r--r--core/java/android/bluetooth/BluetoothDevice.java12
-rw-r--r--core/java/android/bluetooth/IBluetooth.aidl2
-rw-r--r--core/java/android/bluetooth/OobData.aidl19
-rw-r--r--core/java/android/bluetooth/OobData.java63
6 files changed, 107 insertions, 7 deletions
diff --git a/api/current.txt b/api/current.txt
index c39c526d3200..caaea05004d1 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -6987,6 +6987,15 @@ package android.bluetooth {
field public static final int TYPE_SCO = 2; // 0x2
}
+ public class OobData implements android.os.Parcelable {
+ ctor public OobData();
+ method public int describeContents();
+ method public byte[] getSecurityManagerTk();
+ method public void setSecurityManagerTk(byte[]);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator<android.bluetooth.OobData> CREATOR;
+ }
+
}
package android.bluetooth.le {
diff --git a/api/system-current.txt b/api/system-current.txt
index 6578be4140a1..caa734b81954 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -7208,6 +7208,15 @@ package android.bluetooth {
field public static final int TYPE_SCO = 2; // 0x2
}
+ public class OobData implements android.os.Parcelable {
+ ctor public OobData();
+ method public int describeContents();
+ method public byte[] getSecurityManagerTk();
+ method public void setSecurityManagerTk(byte[]);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator<android.bluetooth.OobData> CREATOR;
+ }
+
}
package android.bluetooth.le {
diff --git a/core/java/android/bluetooth/BluetoothDevice.java b/core/java/android/bluetooth/BluetoothDevice.java
index cd5c205d14dc..f43fb30abb18 100644
--- a/core/java/android/bluetooth/BluetoothDevice.java
+++ b/core/java/android/bluetooth/BluetoothDevice.java
@@ -879,18 +879,16 @@ public final class BluetoothDevice implements Parcelable {
*
* <p>Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN}.
*
- * @param hash - Simple Secure pairing hash
- * @param randomizer - The random key obtained using OOB
+ * @param transport - Transport to use
+ * @param oobData - Out Of Band data
* @return false on immediate error, true if bonding will begin
*
* @hide
*/
- public boolean createBondOutOfBand(byte[] hash, byte[] randomizer) {
- //TODO(BT)
- /*
+ public boolean createBondOutOfBand(int transport, OobData oobData) {
try {
- return sService.createBondOutOfBand(this, hash, randomizer);
- } catch (RemoteException e) {Log.e(TAG, "", e);}*/
+ return sService.createBondOutOfBand(this, transport, oobData);
+ } catch (RemoteException e) {Log.e(TAG, "", e);}
return false;
}
diff --git a/core/java/android/bluetooth/IBluetooth.aidl b/core/java/android/bluetooth/IBluetooth.aidl
index 235811680584..9cd7d0585af5 100644
--- a/core/java/android/bluetooth/IBluetooth.aidl
+++ b/core/java/android/bluetooth/IBluetooth.aidl
@@ -20,6 +20,7 @@ import android.bluetooth.IBluetoothCallback;
import android.bluetooth.IBluetoothStateChangeCallback;
import android.bluetooth.BluetoothActivityEnergyInfo;
import android.bluetooth.BluetoothDevice;
+import android.bluetooth.OobData;
import android.os.ParcelUuid;
import android.os.ParcelFileDescriptor;
@@ -56,6 +57,7 @@ interface IBluetooth
BluetoothDevice[] getBondedDevices();
boolean createBond(in BluetoothDevice device, in int transport);
+ boolean createBondOutOfBand(in BluetoothDevice device, in int transport, in OobData oobData);
boolean cancelBondProcess(in BluetoothDevice device);
boolean removeBond(in BluetoothDevice device);
int getBondState(in BluetoothDevice device);
diff --git a/core/java/android/bluetooth/OobData.aidl b/core/java/android/bluetooth/OobData.aidl
new file mode 100644
index 000000000000..d831c647769b
--- /dev/null
+++ b/core/java/android/bluetooth/OobData.aidl
@@ -0,0 +1,19 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.bluetooth;
+
+parcelable OobData;
diff --git a/core/java/android/bluetooth/OobData.java b/core/java/android/bluetooth/OobData.java
new file mode 100644
index 000000000000..01f72efb22ac
--- /dev/null
+++ b/core/java/android/bluetooth/OobData.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.bluetooth;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import android.util.Log;
+
+/**
+ * Out Of Band Data for Bluetooth device.
+ */
+public class OobData implements Parcelable {
+ private byte[] securityManagerTk;
+
+ public byte[] getSecurityManagerTk() {
+ return securityManagerTk;
+ }
+
+ public void setSecurityManagerTk(byte[] securityManagerTk) {
+ this.securityManagerTk = securityManagerTk;
+ }
+
+ public OobData() { }
+
+ private OobData(Parcel in) {
+ securityManagerTk = in.createByteArray();
+ }
+
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel out, int flags) {
+ out.writeByteArray(securityManagerTk);
+ }
+
+ public static final Parcelable.Creator<OobData> CREATOR
+ = new Parcelable.Creator<OobData>() {
+ public OobData createFromParcel(Parcel in) {
+ return new OobData(in);
+ }
+
+ public OobData[] newArray(int size) {
+ return new OobData[size];
+ }
+ };
+} \ No newline at end of file