Merge "Fix to correct the filter setting in order Patched from ag/23208840" into udc-dev am: d2f58d0d7e

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/modules/Connectivity/+/23375016

Change-Id: I47ec2414d1399287d25d8f9d39f312df812c2a4b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/nearby/service/java/com/android/server/nearby/managers/DiscoveryProviderManagerLegacy.java b/nearby/service/java/com/android/server/nearby/managers/DiscoveryProviderManagerLegacy.java
index e68d22a..4b76eba 100644
--- a/nearby/service/java/com/android/server/nearby/managers/DiscoveryProviderManagerLegacy.java
+++ b/nearby/service/java/com/android/server/nearby/managers/DiscoveryProviderManagerLegacy.java
@@ -254,14 +254,16 @@
             ScanListenerRecord scanListenerRecord =
                     new ScanListenerRecord(scanRequest, listener, callerIdentity, deathRecipient);
 
+            mScanTypeScanListenerRecordMap.put(listenerBinder, scanListenerRecord);
             Boolean started = startProviders(scanRequest);
             if (started == null) {
+                mScanTypeScanListenerRecordMap.remove(listenerBinder);
                 return NearbyManager.ScanStatus.UNKNOWN;
             }
             if (!started) {
+                mScanTypeScanListenerRecordMap.remove(listenerBinder);
                 return NearbyManager.ScanStatus.ERROR;
             }
-            mScanTypeScanListenerRecordMap.put(listenerBinder, scanListenerRecord);
             NearbyMetrics.logScanStarted(scanListenerRecord.hashCode(), scanRequest);
             if (mScanMode < scanRequest.getScanMode()) {
                 mScanMode = scanRequest.getScanMode();