Merge "Implementation of BluetoothDevice.createBondOutOfBand"

This commit is contained in:
Andre Eisenbach
2016-02-04 00:25:34 +00:00
committed by Gerrit Code Review
6 changed files with 107 additions and 7 deletions

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -872,18 +872,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;
}

View File

@@ -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);

View File

@@ -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;

View File

@@ -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];
}
};
}