diff options
| author | 2016-02-04 00:35:32 +0000 | |
|---|---|---|
| committer | 2016-02-04 00:35:32 +0000 | |
| commit | 7cbc1aeecdb41076e26c2aa70bdc971ddb294e21 (patch) | |
| tree | 8200648fc6767908f668f2a7fa076eb13eb1c1d3 | |
| parent | d24eb54b5409997ece8e49ce2e57d27f8b41d778 (diff) | |
| parent | 026a58476ba219bcc08608c2e6156683c9158d5d (diff) | |
Merge "Implementation of BluetoothDevice.createBondOutOfBand"
am: 026a58476b
* commit '026a58476ba219bcc08608c2e6156683c9158d5d':
Implementation of BluetoothDevice.createBondOutOfBand
| -rw-r--r-- | api/current.txt | 9 | ||||
| -rw-r--r-- | api/system-current.txt | 9 | ||||
| -rw-r--r-- | core/java/android/bluetooth/BluetoothDevice.java | 12 | ||||
| -rw-r--r-- | core/java/android/bluetooth/IBluetooth.aidl | 2 | ||||
| -rw-r--r-- | core/java/android/bluetooth/OobData.aidl | 19 | ||||
| -rw-r--r-- | core/java/android/bluetooth/OobData.java | 63 |
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 |