Add back data provider to fast pair pairing process

Test: should test after the api is ready to integrate.
Bug: 202335820
Change-Id: I171c6fcd02a6786e1506c713552ab8364cf1d91f
diff --git a/nearby/service/java/com/android/server/nearby/fastpair/FastPairManager.java b/nearby/service/java/com/android/server/nearby/fastpair/FastPairManager.java
index 253e942..b1fc0b4 100644
--- a/nearby/service/java/com/android/server/nearby/fastpair/FastPairManager.java
+++ b/nearby/service/java/com/android/server/nearby/fastpair/FastPairManager.java
@@ -51,6 +51,7 @@
 import com.android.server.nearby.fastpair.footprint.FootprintsDeviceManager;
 import com.android.server.nearby.fastpair.halfsheet.FastPairHalfSheetManager;
 import com.android.server.nearby.fastpair.pairinghandler.PairingProgressHandlerBase;
+import com.android.server.nearby.provider.FastPairDataProvider;
 import com.android.server.nearby.util.FastPairDecoder;
 import com.android.server.nearby.util.ForegroundThread;
 import com.android.server.nearby.util.Hex;
@@ -114,9 +115,12 @@
                 byte[] model = intent.getByteArrayExtra(EXTRA_MODEL_ID);
                 String address = intent.getStringExtra(EXTRA_ADDRESS);
                 Log.d("FastPairService", "start pair " + address);
+                Rpcs.GetObservedDeviceResponse response =
+                        FastPairDataProvider.getInstance().loadFastPairDeviceMetadata(model);
+                ByteString publicKey = response.getDevice().getAntiSpoofingKeyPair().getPublicKey();
                 Locator.get(mLocatorContextWrapper, FastPairHalfSheetManager.class).showHalfSheet(
                         Cache.ScanFastPairStoreItem.newBuilder().setAddress(address)
-                                .setAntiSpoofingPublicKey(ByteString.EMPTY)
+                                .setAntiSpoofingPublicKey(publicKey)
                                 .build());
             } else {
                 Log.d("FastPairService", " screen off");