Fix some NPE issue am: cfd23489f7
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Nearby/+/17070657
Change-Id: I5ef9b5d069c67f809c1f02a5d24277670c9ec67d
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 f41715a..08e98db 100644
--- a/nearby/service/java/com/android/server/nearby/fastpair/FastPairAdvHandler.java
+++ b/nearby/service/java/com/android/server/nearby/fastpair/FastPairAdvHandler.java
@@ -79,6 +79,11 @@
Rpcs.GetObservedDeviceResponse response =
FastPairDataProvider.getInstance()
.loadFastPairAntispoofkeyDeviceMetadata(model);
+ if (response == null) {
+ Log.e(TAG, "server does not have model id "
+ + Hex.bytesToStringLowercase(model));
+ return;
+ }
Locator.get(mContext, FastPairHalfSheetManager.class).showHalfSheet(
DataUtils.toScanFastPairStoreItem(
response, mBleAddress,
@@ -128,6 +133,9 @@
static Data.FastPairDeviceWithAccountKey findRecognizedDevice(
List<Data.FastPairDeviceWithAccountKey> devices, BloomFilter bloomFilter, byte[] salt) {
for (Data.FastPairDeviceWithAccountKey device : devices) {
+ if (device.getAccountKey().toByteArray() == null) {
+ continue;
+ }
byte[] rotatedKey = concat(device.getAccountKey().toByteArray(), salt);
if (bloomFilter.possiblyContains(rotatedKey)) {
return device;