Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3e737135 authored by Jakub Pawlowski's avatar Jakub Pawlowski
Browse files

BLE OOB Pairing - parse address type (5/5)

When address type is not parsed, creating bond to devices not using
random address is impossible.

Bug: 32780409
Test: try pairing with nRF52DK using random address
Change-Id: Ie6cc1f8c008d43b2acd021b47f9bbfb1f63472e8
(cherry picked from commit f465823f)
parent 2d0ebcf3
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -30,10 +30,24 @@ import android.util.Log;
 * @hide
 */
public class OobData implements Parcelable {
    private byte[] leBluetoothDeviceAddress;
    private byte[] securityManagerTk;
    private byte[] leSecureConnectionsConfirmation;
    private byte[] leSecureConnectionsRandom;

    public byte[] getLeBluetoothDeviceAddress() {
        return leBluetoothDeviceAddress;
    }

    /**
     * Sets the LE Bluetooth Device Address value to be used during LE pairing.
     * The value shall be 7 bytes. Please see Bluetooth CSSv6, Part A 1.16 for
     * a detailed description.
     */
    public void setLeBluetoothDeviceAddress(byte[] leBluetoothDeviceAddress) {
        this.leBluetoothDeviceAddress = leBluetoothDeviceAddress;
    }

    public byte[] getSecurityManagerTk() {
        return securityManagerTk;
    }
@@ -66,6 +80,7 @@ public class OobData implements Parcelable {
    public OobData() { }

    private OobData(Parcel in) {
        leBluetoothDeviceAddress = in.createByteArray();
        securityManagerTk = in.createByteArray();
        leSecureConnectionsConfirmation = in.createByteArray();
        leSecureConnectionsRandom = in.createByteArray();
@@ -77,6 +92,7 @@ public class OobData implements Parcelable {

    @Override
    public void writeToParcel(Parcel out, int flags) {
        out.writeByteArray(leBluetoothDeviceAddress);
        out.writeByteArray(securityManagerTk);
        out.writeByteArray(leSecureConnectionsConfirmation);
        out.writeByteArray(leSecureConnectionsRandom);