Merge "Check the model id format before start to parse the data"
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 a41d7a3..6538462 100644
--- a/nearby/service/java/com/android/server/nearby/fastpair/FastPairAdvHandler.java
+++ b/nearby/service/java/com/android/server/nearby/fastpair/FastPairAdvHandler.java
@@ -54,14 +54,16 @@
return;
}
mBleAddress = fastPairDevice.getBluetoothAddress();
- byte[] model = FastPairDecoder.getModelId(fastPairDevice.getData());
- Log.d("FastPairService",
- "On discovery model id" + Hex.bytesToStringLowercase(model));
- // Use api to get anti spoofing key from model id.
- Locator.get(mContext, FastPairHalfSheetManager.class).showHalfSheet(
- Cache.ScanFastPairStoreItem.newBuilder()
- .setAddress(mBleAddress)
- .setAntiSpoofingPublicKey(ByteString.EMPTY)
- .build());
+ if (FastPairDecoder.checkModelId(fastPairDevice.getData())) {
+ byte[] model = FastPairDecoder.getModelId(fastPairDevice.getData());
+ Log.d("FastPairService",
+ "On discovery model id" + Hex.bytesToStringLowercase(model));
+ // Use api to get anti spoofing key from model id.
+ Locator.get(mContext, FastPairHalfSheetManager.class).showHalfSheet(
+ Cache.ScanFastPairStoreItem.newBuilder()
+ .setAddress(mBleAddress)
+ .setAntiSpoofingPublicKey(ByteString.EMPTY)
+ .build());
+ }
}
}