summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorMartin Brabham <optedoblivion@google.com>2021-07-29 21:30:30 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-07-29 21:30:30 +0000
commit234cdb9d8aabc270f4241c9ce0c0ea2ea46ef372 (patch)
treef090fb06ff692e928e9dfe7fe9065caa8672a8d8 /core/java
parent4d1b6559ba074ac8afce1cb694c06ac80d629602 (diff)
parent400c21483cf728c42e012244cc491f4f633cae0d (diff)
Merge "Add implementation for IRK to parcelable functions." am: 400c21483c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1780808 Change-Id: Ia6d960d126b420bff8dfe3c36f254cf2bf54668a
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/bluetooth/le/ScanFilter.java24
1 files changed, 23 insertions, 1 deletions
diff --git a/core/java/android/bluetooth/le/ScanFilter.java b/core/java/android/bluetooth/le/ScanFilter.java
index ddc93327b697..9da6ff3b2752 100644
--- a/core/java/android/bluetooth/le/ScanFilter.java
+++ b/core/java/android/bluetooth/le/ScanFilter.java
@@ -168,6 +168,15 @@ public final class ScanFilter implements Parcelable {
dest.writeByteArray(mManufacturerDataMask);
}
}
+
+ // IRK
+ if (mDeviceAddress != null) {
+ dest.writeInt(mAddressType);
+ dest.writeInt(mIrk == null ? 0 : 1);
+ if (mIrk != null) {
+ dest.writeByteArray(mIrk);
+ }
+ }
}
/**
@@ -187,8 +196,10 @@ public final class ScanFilter implements Parcelable {
if (in.readInt() == 1) {
builder.setDeviceName(in.readString());
}
+ String address = null;
+ // If we have a non-null address
if (in.readInt() == 1) {
- builder.setDeviceAddress(in.readString());
+ address = in.readString();
}
if (in.readInt() == 1) {
ParcelUuid uuid = in.readParcelable(ParcelUuid.class.getClassLoader());
@@ -245,6 +256,17 @@ public final class ScanFilter implements Parcelable {
}
}
+ // IRK
+ if (address != null) {
+ final int addressType = in.readInt();
+ if (in.readInt() == 1) {
+ final byte[] irk = new byte[16];
+ in.readByteArray(irk);
+ builder.setDeviceAddress(address, addressType, irk);
+ } else {
+ builder.setDeviceAddress(address, addressType);
+ }
+ }
return builder.build();
}
};