bluetooth: Fix multiple DeviceFound event match

By default the LE_SCAN_FILTER_DUP flag is enabled on all platforms. Due
to this, the host may receive as little as one advertisement during
passive scanning from a peer device. Fix test_device_found() function to
consider at least one match while testing for multiple DeviceFound event
match scenarios and retry to give enough time for host to receive more
then one advertisements from a peer device.

BUG=b:169375729, b:173153478
TEST=Run bluetooth_AdapterAdvMonitor.advmon_fg_bg_combination_tests when
     LE_SCAN_FILTER_DUP flag is enabled and verify tests pass.

Change-Id: I9df512de041fd5d08dae9ecf743dbe1f2716f4ae
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/2594292
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
Commit-Queue: Manish Mandlik <mmandlik@chromium.org>
Tested-by: Manish Mandlik <mmandlik@chromium.org>
diff --git a/server/cros/bluetooth/bluetooth_adapter_adv_monitor_tests.py b/server/cros/bluetooth/bluetooth_adapter_adv_monitor_tests.py
index c369db8..be557a0 100644
--- a/server/cros/bluetooth/bluetooth_adapter_adv_monitor_tests.py
+++ b/server/cros/bluetooth/bluetooth_adapter_adv_monitor_tests.py
@@ -521,7 +521,7 @@
         return expected == released
 
 
-    @test_retry_and_log(False)
+    @test_retry_and_log(True)
     def test_device_found(self, monitor, count, delay=0):
         """Test if the DeviceFound method on a monitor has been invoked or not.
 
@@ -543,7 +543,7 @@
         checked_count = self.get_event_count(app_id, monitor_id, 'DeviceFound')
 
         if count == self.MULTIPLE_EVENTS:
-            return checked_count > 1
+            return checked_count > 0
 
         return checked_count == count