Fix exception when fast pair initial pairing for simulator am: 1f39b53f72
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Nearby/+/17212583
Change-Id: Iadc9e735025a4d9d91bb3ca058b79e2ecd07e447
diff --git a/nearby/service/java/com/android/server/nearby/fastpair/FastPairAdvHandler.java b/nearby/service/java/com/android/server/nearby/fastpair/FastPairAdvHandler.java
index af49da1..b175234 100644
--- a/nearby/service/java/com/android/server/nearby/fastpair/FastPairAdvHandler.java
+++ b/nearby/service/java/com/android/server/nearby/fastpair/FastPairAdvHandler.java
@@ -179,6 +179,9 @@
List<Data.FastPairDeviceWithAccountKey> devices, BloomFilter bloomFilter, byte[] salt) {
Log.d(TAG, "saved devices size in the account is " + devices.size());
for (Data.FastPairDeviceWithAccountKey device : devices) {
+ if (device.getAccountKey().toByteArray() == null || salt == null) {
+ return null;
+ }
byte[] rotatedKey = concat(device.getAccountKey().toByteArray(), salt);
StringBuilder sb = new StringBuilder();
for (byte b : rotatedKey) {
@@ -198,6 +201,9 @@
static Cache.StoredFastPairItem findRecognizedDeviceFromCachedItem(
List<Cache.StoredFastPairItem> devices, BloomFilter bloomFilter, byte[] salt) {
for (Cache.StoredFastPairItem device : devices) {
+ if (device.getAccountKey().toByteArray() == null || salt == null) {
+ return null;
+ }
byte[] rotatedKey = concat(device.getAccountKey().toByteArray(), salt);
if (bloomFilter.possiblyContains(rotatedKey)) {
return device;