Use different timeouts based on whether event is expected to occur

Before this change, the test waited for 500 ms in the cases where the
input devices were expected to change, and also in the cases where the
input devices were not expected to change.

When a device is being added, this timeout is way too short for some
hardware. This causes test flakiness. However, we can't directly
increase this timeout, because it would make the tests slower, since the
same value will be used for the case where input devices are not
expected to change.

Therefore, in this CL, we provide a way for the caller to specify the
timeout, and introduce a new, shorter timeout for the cases where the
event is not expected to occur.

This is a speculative fix.

Bug: 332178280
Change-Id: I6ee5b75a1331c41544b3efa4c408964eeb512551
Flag: TEST_ONLY
Test: atest inputflinger_tests
diff --git a/services/inputflinger/tests/FakeInputReaderPolicy.h b/services/inputflinger/tests/FakeInputReaderPolicy.h
index e5ba620..61bb9fc 100644
--- a/services/inputflinger/tests/FakeInputReaderPolicy.h
+++ b/services/inputflinger/tests/FakeInputReaderPolicy.h
@@ -88,7 +88,8 @@
     std::shared_ptr<KeyCharacterMap> getKeyboardLayoutOverlay(
             const InputDeviceIdentifier&, const std::optional<KeyboardLayoutInfo>) override;
     std::string getDeviceAlias(const InputDeviceIdentifier&) override;
-    void waitForInputDevices(std::function<void(bool)> processDevicesChanged);
+    void waitForInputDevices(std::function<void(bool)> processDevicesChanged,
+                             std::chrono::milliseconds timeout);
     void notifyStylusGestureStarted(int32_t deviceId, nsecs_t eventTime) override;
 
     mutable std::mutex mLock;